@@ -7,40 +7,32 @@ __declspec(selectany) int32_t(__stdcall* winrt_activation_handler)(void* classId
77#if defined(_MSC_VER) && !defined(__clang__)
88#ifdef _M_HYBRID
99#define WINRT_IMPL_LINK (function, count ) __pragma(comment(linker, " /alternatename:#WINRT_IMPL_" #function " @" #count " =#" #function " @" #count))
10- #define WINRT_IMPL_LINK2 (function1, function2, count ) __pragma(comment(linker, " /alternatename:#WINRT_" #function1 " @" #count " =#" #function2 " @" #count))
1110#define WINRT_IMPL_DLLIMPORT
1211#elif _M_ARM64EC
1312#define WINRT_IMPL_LINK (function, count ) __pragma(comment(linker, " /alternatename:#WINRT_IMPL_" #function " =#" #function))
14- #define WINRT_IMPL_LINK2 (function1, function2, count ) __pragma(comment(linker, " /alternatename:#WINRT_" #function1 " =#" #function2))
1513#define WINRT_IMPL_DLLIMPORT
1614#elif _M_IX86
1715#define WINRT_IMPL_LINK (function, count ) __pragma(comment(linker, " /alternatename:__imp__WINRT_IMPL_" #function " @" #count " =__imp__" #function " @" #count))
18- #define WINRT_IMPL_LINK2 (function1, function2, count ) __pragma(comment(linker, " /alternatename:__imp__WINRT_" #function1 " @" #count " =__imp__" #function2 " @" #count))
1916#define WINRT_IMPL_DLLIMPORT __declspec (dllimport)
2017#else
2118#define WINRT_IMPL_LINK (function, count ) __pragma(comment(linker, " /alternatename:__imp_WINRT_IMPL_" #function " =__imp_" #function))
22- #define WINRT_IMPL_LINK2 (function1, function2, count ) __pragma(comment(linker, " /alternatename:__imp_WINRT_" #function1 " =__imp_" #function2))
2319#define WINRT_IMPL_DLLIMPORT __declspec (dllimport)
2420#endif
2521#define WINRT_IMPL_EXTERN_C_BEGIN extern " C" {
2622#define WINRT_IMPL_EXTERN_C_END }
2723#elif defined(__GNUC__) || defined(__clang__)
2824#if defined(__arm64ec__) || defined(_M_ARM64EC)
2925#define WINRT_IMPL_LINK (function, count ) __asm__ (" #" #function)
30- #define WINRT_IMPL_LINK2 (function1, function2, count ) __asm__ (" #" #function2)
3126#define WINRT_IMPL_DLLIMPORT
3227#elif SIZE_MAX <= UINT_LEAST32_MAX && (defined(__x86__) || defined(_M_IX86) || defined(__i386__))
3328#if !defined(__clang__)
3429#define WINRT_IMPL_LINK (function, count ) __asm__ (#function " @" #count)
35- #define WINRT_IMPL_LINK2 (function1, function2, count ) __asm__ (#function2 " @" #count)
3630#else
3731#define WINRT_IMPL_LINK (function, count ) __asm__ (" _" #function " @" #count)
38- #define WINRT_IMPL_LINK2 (function1, function2, count ) __asm__ (" _" #function2 " @" #count)
3932#endif
4033#define WINRT_IMPL_DLLIMPORT [[__gnu__::__dllimport__]]
4134#else
4235#define WINRT_IMPL_LINK (function, count ) __asm__ (#function)
43- #define WINRT_IMPL_LINK2 (function1, function2, count ) __asm__ (#function2)
4436#define WINRT_IMPL_DLLIMPORT [[__gnu__::__dllimport__]]
4537#endif
4638#define WINRT_IMPL_EXTERN_C_BEGIN
@@ -129,19 +121,15 @@ WINRT_IMPL_DLLIMPORT void __stdcall WINRT_IMPL_SetThreadpoolThreadMaximum(winrt:
129121WINRT_IMPL_DLLIMPORT int32_t __stdcall WINRT_IMPL_SetThreadpoolThreadMinimum (winrt::impl::ptp_pool pool, uint32_t value) noexcept WINRT_IMPL_LINK(SetThreadpoolThreadMinimum, 8 );
130122WINRT_IMPL_DLLIMPORT void __stdcall WINRT_IMPL_CloseThreadpool (winrt::impl::ptp_pool pool) noexcept WINRT_IMPL_LINK(CloseThreadpool, 4 );
131123
132- WINRT_IMPL_DLLIMPORT int32_t __stdcall WINRT_CanUnloadNow () noexcept WINRT_IMPL_LINK2(CanUnloadNow, DllCanUnloadNow, 0 );
133- WINRT_IMPL_DLLIMPORT int32_t __stdcall WINRT_GetActivationFactory (void * classId, void ** factory) noexcept WINRT_IMPL_LINK2(GetActivationFactory, GetActivationFactory, 8 );
134-
135124WINRT_IMPL_EXTERN_C_END
136125
126+ extern " C"
127+ {
128+ int32_t __stdcall WINRT_CanUnloadNow () noexcept ;
129+ int32_t __stdcall WINRT_GetActivationFactory (void * classId, void ** factory) noexcept ;
130+ }
131+
137132#undef WINRT_IMPL_DLLIMPORT
138133#undef WINRT_IMPL_LINK
139- #undef WINRT_IMPL_LINK2
140134#undef WINRT_IMPL_EXTERN_C_BEGIN
141135#undef WINRT_IMPL_EXTERN_C_END
142-
143- #if defined(_MSC_VER) && !defined(_KERNEL_MODE)
144- #pragma comment(lib, "ole32.lib")
145- #pragma comment(lib, "oleaut32.lib")
146- #pragma comment(lib, "runtimeobject.lib")
147- #endif
0 commit comments