@@ -334,4 +334,51 @@ namespace test_component
334334
335335 delegate void Delegate();
336336 }
337+
338+ [exclusiveto(test_component.OverloadClass)]
339+ [version(1), uuid(EF902013-00F3-4549-9032-49E86D536C07)]
340+ interface IOverloadClass : IInspectable
341+ {
342+ HRESULT Overload();
343+ }
344+
345+ [exclusiveto(test_component.OverloadClass)]
346+ [version(1), uuid(DFDFFB61-EA72-4977-B1A7-3F0D2C32BB58)]
347+ interface IOverloadClassFactory : IInspectable
348+ {
349+ HRESULT CreateInstance([in] IInspectable* baseInterface, [out] IInspectable** innerInterface, [out][retval] test_component.OverloadClass** value);
350+ }
351+
352+ [exclusiveto(test_component.OverloadClass)]
353+ [version(1), uuid(32510F72-9229-4C69-95BD-DE7B8189C85C)]
354+ interface IOverloadClassOverrides : IInspectable
355+ {
356+ [overload("Overload")] HRESULT OverloadWithOne(int a);
357+ }
358+
359+ [exclusiveto(test_component.OverloadClass)]
360+ [version(1), uuid(50205BCE-FAD3-4C66-801F-17AAD007B26C)]
361+ interface IOverloadClassOverrides2 : IInspectable
362+ {
363+ [overload("Overload")] HRESULT OverloadWithTwo(int a, int b);
364+ }
365+
366+ [exclusiveto(test_component.OverloadClass)]
367+ [version(1), uuid(6EDD1A3F-2616-45B7-9731-F84DA9CCECA1)]
368+ interface IOverloadClassProtected : IInspectable
369+ {
370+ [overload("Overload")] HRESULT OverloadWithThree(int a, int b, int c);
371+ }
372+
373+ [composable(test_component.IOverloadClassFactory, public, 1)]
374+ [marshaling_behavior(agile)]
375+ [threading(both)]
376+ [version(1)]
377+ runtimeclass OverloadClass
378+ {
379+ [default] interface test_component.IOverloadClass;
380+ [protected] interface test_component.IOverloadClassProtected;
381+ [overridable] interface test_component.IOverloadClassOverrides;
382+ [overridable] interface test_component.IOverloadClassOverrides2;
383+ }
337384}
0 commit comments