From: Vibhav Pant <vibhavp(a)gmail.com> --- dlls/vccorlib140/tests/vccorlib.c | 150 ++++++++++++++++++++++++++++-- dlls/vccorlib140/vccorlib.c | 43 ++++++++- dlls/vccorlib140/vccorlib140.spec | 128 ++++++++++++------------- 3 files changed, 245 insertions(+), 76 deletions(-) diff --git a/dlls/vccorlib140/tests/vccorlib.c b/dlls/vccorlib140/tests/vccorlib.c index 15d6e34ea09..c25ae865d70 100644 --- a/dlls/vccorlib140/tests/vccorlib.c +++ b/dlls/vccorlib140/tests/vccorlib.c @@ -154,6 +154,15 @@ static HSTRING (__cdecl *p_platform_exception_get_Message)(void *); static void *(__cdecl *pAllocateException)(size_t); static void *(__cdecl *pAllocateExceptionWithWeakRef)(ptrdiff_t, size_t); static void (__cdecl *pFreeException)(void *); +static void *(__cdecl *p_platform_Exception_ctor)(void *, HRESULT); +static void *(__cdecl *p_platform_Exception_hstring_ctor)(void *, HRESULT, HSTRING); +static void *(__cdecl *p_platform_COMException_ctor)(void *, HRESULT); +static void *(__cdecl *p_platform_COMException_hstring_ctor)(void *, HRESULT, HSTRING); +#define WINRT_EXCEPTION(name, ...) \ + static void *(__cdecl *p_platform_##name##Exception_ctor)(void *); \ + static void *(__cdecl *p_platform_##name##Exception_hstring_ctor)(void *, HSTRING); +WINRT_EXCEPTIONS +#undef WINRT_EXCEPTION static void *(__cdecl *p__RTtypeid)(const void *); static const char *(__thiscall *p_type_info_name)(void *); @@ -208,6 +217,19 @@ static BOOL init(void) pAllocateExceptionWithWeakRef = (void *)GetProcAddress(hmod, "?AllocateException(a)Heap@Details(a)Platform@@SAPAXII(a)Z"); pFreeException = (void *)GetProcAddress(hmod, "?FreeException(a)Heap@Details(a)Platform@@SAXPAX(a)Z"); + p_platform_Exception_ctor = (void *)GetProcAddress(hmod, "??0Exception(a)Platform@@Q$AAA(a)H@Z"); + p_platform_Exception_hstring_ctor = (void *)GetProcAddress(hmod, "??0Exception(a)Platform@@Q$AAA(a)HP$AAVString(a)1@@Z"); + p_platform_COMException_ctor = (void *)GetProcAddress(hmod, "??0COMException(a)Platform@@Q$AAA(a)H@Z"); + p_platform_COMException_hstring_ctor = (void *)GetProcAddress(hmod, + "??0COMException(a)Platform@@Q$AAA(a)HP$AAVString(a)1@@Z"); +#define WINRT_EXCEPTION(name, ...) do { \ + p_platform_##name##Exception_ctor = (void *)GetProcAddress(hmod, \ + "??0" #name "Exception(a)Platform@@Q$AAA(a)XZ"); \ + p_platform_##name##Exception_hstring_ctor = (void *)GetProcAddress(hmod, \ + "??0" #name "Exception(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z"); \ + } while(0); + WINRT_EXCEPTIONS +#undef WINRT_EXCEPTION p_type_info_name = (void *)GetProcAddress(msvcrt, "?name(a)type_info@@QBAPBDXZ"); p_type_info_raw_name = (void *)GetProcAddress(msvcrt, "?raw_name(a)type_info@@QBAPBDXZ"); p_type_info_opequals_equals = (void *)GetProcAddress(msvcrt, "??8type_info@@QBAHABV0@@Z"); @@ -243,6 +265,20 @@ static BOOL init(void) pAllocateExceptionWithWeakRef = (void *)GetProcAddress(hmod, "?AllocateException(a)Heap@Details(a)Platform@@SAPEAX_K0(a)Z"); pFreeException = (void *)GetProcAddress(hmod, "?FreeException(a)Heap@Details(a)Platform@@SAXPEAX(a)Z"); + p_platform_Exception_ctor = (void *)GetProcAddress(hmod, "??0Exception(a)Platform@@QE$AAA(a)H@Z"); + p_platform_Exception_hstring_ctor = (void *)GetProcAddress(hmod, + "??0Exception(a)Platform@@QE$AAA(a)HPE$AAVString(a)1@@Z"); + p_platform_COMException_ctor = (void *)GetProcAddress(hmod, "??0COMException(a)Platform@@QE$AAA(a)H@Z"); + p_platform_COMException_hstring_ctor = (void *)GetProcAddress(hmod, + "??0COMException(a)Platform@@QE$AAA(a)HPE$AAVString(a)1@@Z"); +#define WINRT_EXCEPTION(name, ...) do { \ + p_platform_##name##Exception_ctor = (void *)GetProcAddress(hmod, \ + "??0" #name "Exception(a)Platform@@QE$AAA(a)XZ"); \ + p_platform_##name##Exception_hstring_ctor = (void *)GetProcAddress(hmod, \ + "??0" #name "Exception(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z"); \ + } while(0); + WINRT_EXCEPTIONS +#undef WINRT_EXCEPTION p_type_info_name = (void *)GetProcAddress(msvcrt, "?name(a)type_info@@QEBAPEBDXZ"); p_type_info_raw_name = (void *)GetProcAddress(msvcrt, "?raw_name(a)type_info@@QEBAPEBDXZ"); p_type_info_opequals_equals = (void *)GetProcAddress(msvcrt, "??8type_info@@QEBAHAEBV0@@Z"); @@ -277,6 +313,20 @@ static BOOL init(void) pAllocateExceptionWithWeakRef = (void *)GetProcAddress(hmod, "?AllocateException(a)Heap@Details(a)Platform@@SAPAXII(a)Z"); pFreeException = (void *)GetProcAddress(hmod, "?FreeException(a)Heap@Details(a)Platform@@SAXPAX(a)Z"); + p_platform_Exception_ctor = (void *)GetProcAddress(hmod, "??0Exception(a)Platform@@Q$AAA(a)H@Z"); + p_platform_Exception_hstring_ctor = (void *)GetProcAddress(hmod, + "??0Exception(a)Platform@@Q$AAA(a)HP$AAVString(a)1@@Z"); + p_platform_COMException_ctor = (void *)GetProcAddress(hmod, "??0COMException(a)Platform@@Q$AAA(a)H@Z"); + p_platform_COMException_hstring_ctor = (void *)GetProcAddress(hmod, + "??0COMException(a)Platform@@Q$AAA(a)HP$AAVString(a)1@@Z"); +#define WINRT_EXCEPTION(name, ...) do { \ + p_platform_##name##Exception_ctor = (void *)GetProcAddress(hmod, \ + "??0" #name "Exception(a)Platform@@Q$AAA(a)XZ"); \ + p_platform_##name##Exception_hstring_ctor = (void *)GetProcAddress(hmod, \ + "??0" #name "Exception(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z"); \ + } while(0); + WINRT_EXCEPTIONS +#undef WINRT_EXCEPTION p_type_info_name = (void *)GetProcAddress(msvcrt, "?name(a)type_info@@QBEPBDXZ"); p_type_info_raw_name = (void *)GetProcAddress(msvcrt, "?raw_name(a)type_info@@QBEPBDXZ"); p_type_info_opequals_equals = (void *)GetProcAddress(msvcrt, "??8type_info@@QBEHABV0@@Z"); @@ -301,6 +351,16 @@ static BOOL init(void) ok(pAllocateException != NULL, "AllocateException not available\n"); ok(pAllocateExceptionWithWeakRef != NULL, "AllocateExceptionWithWeakRef not available.\n"); ok(pFreeException != NULL, "FreeException not available\n"); + ok(p_platform_Exception_ctor != NULL, "Platform::Exception not available.\n"); + ok(p_platform_Exception_hstring_ctor != NULL, "Platform::Exception(HRESULT, HSTRING) not available.\n"); + ok(p_platform_COMException_ctor != NULL, "Platform::COMException not available.\n"); + ok(p_platform_COMException_hstring_ctor != NULL, "Platform::COMException(HRESULT, HSTRING) not available.\n"); +#define WINRT_EXCEPTION(name, ...) do { \ + ok(p_platform_##name##Exception_ctor != NULL, "Platform::" #name "Exception not available.\n"); \ + ok(p_platform_##name##Exception_hstring_ctor != NULL, "Platform::" #name "Exception(HSTRING) not available.\n"); \ + } while(0); + WINRT_EXCEPTIONS +#undef WINRT_EXCEPTION ok(p_type_info_name != NULL, "type_info::name not available\n"); ok(p_type_info_raw_name != NULL, "type_info::raw_name not available\n"); @@ -1244,9 +1304,14 @@ static void test_exceptions(void) { #define EXCEPTION_RTTI_NAME(name) (sizeof(void *) == 8) ? \ ".PE$AAV" #name "Exception(a)Platform@@" : ".P$AAV" #name "Exception(a)Platform@@" -#define WINRT_EXCEPTION(name, hr) \ - {hr, L"Platform." #name "Exception", ".?AV" #name "Exception(a)Platform@@", \ - "class Platform::" #name "Exception", EXCEPTION_RTTI_NAME(name)}, +#define WINRT_EXCEPTION(name, hr) \ + {hr, \ + L"Platform." #name "Exception", \ + ".?AV" #name "Exception(a)Platform@@", \ + "class Platform::" #name "Exception", \ + EXCEPTION_RTTI_NAME(name), \ + p_platform_##name##Exception_ctor, \ + p_platform_##name##Exception_hstring_ctor}, const struct exception_test_case { HRESULT hr; @@ -1255,6 +1320,8 @@ static void test_exceptions(void) const char *exp_rtti_name; /* The mangled RTTI name of the cxx_exception_type received by the exception handler/filter. */ const char *exp_exception_rtti_mangled_name; + void *(__cdecl *ctor)(void *); /* The default constructor for this exception class */ + void *(__cdecl *hstring_ctor)(void *, HSTRING); } test_cases[] = { WINRT_EXCEPTIONS /* Generic exceptions */ @@ -1272,12 +1339,13 @@ static void test_exceptions(void) const ULONG_PTR base = (ULONG_PTR)hmod; #endif const struct exception_test_case *cur_test; + static const WCHAR *msg_bufW = L"foo"; HSTRING_HEADER hdr; HSTRING msg; HRESULT hr; ULONG i; - hr = WindowsCreateStringReference(L"foo", 3, &hdr, &msg); + hr = WindowsCreateStringReference(msg_bufW, wcslen(msg_bufW), &hdr, &msg); ok(hr == S_OK, "got hr %#lx\n", hr); for (i = 0; i < ARRAY_SIZE(test_cases); i++) @@ -1450,14 +1518,82 @@ static void test_exceptions(void) ok(inner->message2 != NULL, "got message2 %p\n", inner->message2); ok(inner->unknown1 == NULL, "got unknown3 %p\n", inner->unknown1); ok(inner->unknown2 == NULL, "got unknown4 %p\n", inner->unknown2); - bufW = WindowsGetStringRawBuffer(msg, NULL); - ok(!wcscmp(inner->message2, bufW), "got message2 %s != %s\n", debugstr_w(inner->message2), debugstr_w(bufW)); + ok(!wcscmp(inner->message2, msg_bufW), "got message2 %s != %s\n", debugstr_w(inner->message2), + debugstr_w(msg_bufW)); ret = SysStringLen(inner->message2); /* Verify that message2 is a BSTR. */ - ok(ret == wcslen(inner->message2), "got ret %u != %Iu\n", ret, wcslen(inner->message2)); + ok(ret == wcslen(msg_bufW), "got ret %u != %Iu\n", ret, wcslen(msg_bufW)); count = IInspectable_Release(inspectable); ok(count == 0, "got count %lu\n", count); + /* Test the constructors for this class. */ + if (cur_test->ctor) + { + obj = pAllocateExceptionWithWeakRef(offsetof(struct platform_exception, control_block), sizeof(*obj)); + inspectable = (IInspectable *)obj; + ok(obj != NULL, "got obj %p\n", obj); + /* Zero out all the fields that the constructor will initialize, including the back-pointer. */ + memset((char *)obj - sizeof(void *), 0, sizeof(void *) + offsetof(struct platform_exception, control_block)); + obj->marshal = NULL; + + cur_test->ctor(obj); + test_interface_layout(obj, &IID_IUnknown, &obj->IInspectable_iface); + test_interface_layout(obj, &IID_IInspectable, &obj->IInspectable_iface); + test_interface_layout(obj, &IID_IAgileObject, &obj->IInspectable_iface); + todo_wine test_interface_layout(obj, &IID_IPrintable, &obj->IPrintable_iface); + todo_wine test_interface_layout(obj, &IID_IEquatable, &obj->IEquatable_iface); + test_interface_layout(obj, &IID_IClosable, &obj->IClosable_iface); + ok((ULONG_PTR)obj->marshal == UINTPTR_MAX, "got marshal %p\n", obj->marshal); + + inner = *(const struct exception_inner **)((ULONG_PTR)obj - sizeof(ULONG_PTR)); + ok(inner == &obj->inner, "got inner %p != %p\n", inner, &obj->inner); + ok(inner->message1 == NULL, "got message1 %p\n", inner->message1); + ok(inner->message2 == NULL, "got message2 %p\n", inner->message2); + ok(inner->unknown1 == NULL, "got unknown1 %p\n", inner->unknown1); + ok(inner->unknown2 == NULL, "got unknown2 %p\n", inner->unknown2); + ok(obj->inner.exception_type == type, "got inner.exception_type %p != %p\n", obj->inner.exception_type, + type); + ok(obj->inner.hr == cur_test->hr, "got inner.hr %#lx != %#lx", obj->inner.hr, cur_test->hr); + + count = IInspectable_Release(inspectable); + ok(count == 0, "got count %lu\n", count); + } + if (cur_test->hstring_ctor) + { + obj = pAllocateExceptionWithWeakRef(offsetof(struct platform_exception, control_block), sizeof(*obj)); + inspectable = (IInspectable *)obj; + ok(obj != NULL, "got obj %p\n", obj); + /* Zero out all the fields that the constructor will initialize, including the back-pointer. */ + memset((char *)obj - sizeof(void *), 0, sizeof(void *) + offsetof(struct platform_exception, control_block)); + obj->marshal = NULL; + + cur_test->hstring_ctor(obj, msg); + test_interface_layout(obj, &IID_IUnknown, &obj->IInspectable_iface); + test_interface_layout(obj, &IID_IInspectable, &obj->IInspectable_iface); + test_interface_layout(obj, &IID_IAgileObject, &obj->IInspectable_iface); + todo_wine test_interface_layout(obj, &IID_IPrintable, &obj->IPrintable_iface); + todo_wine test_interface_layout(obj, &IID_IEquatable, &obj->IEquatable_iface); + test_interface_layout(obj, &IID_IClosable, &obj->IClosable_iface); + ok((ULONG_PTR)obj->marshal == UINTPTR_MAX, "got marshal %p\n", obj->marshal); + + inner = *(const struct exception_inner **)((ULONG_PTR)obj - sizeof(ULONG_PTR)); + ok(inner == &obj->inner, "got inner %p != %p\n", inner, &obj->inner); + ok(inner->message1 == NULL, "got message1 %p\n", inner->message1); + ok(inner->message2 != NULL, "got message2 %p\n", inner->message2); + ok(!wcscmp(inner->message2, msg_bufW), "got message2 %s != %s\n", debugstr_w(inner->message2), + debugstr_w(msg_bufW)); + ret = SysStringLen(inner->message2); /* Verify that message2 is a BSTR. */ + ok(ret == wcslen(msg_bufW), "got ret %u != %Iu\n", ret, wcslen(msg_bufW)); + ok(inner->unknown1 == NULL, "got unknown1 %p\n", inner->unknown1); + ok(inner->unknown2 == NULL, "got unknown2 %p\n", inner->unknown2); + ok(obj->inner.exception_type == type, "got inner.exception_type %p != %p\n", obj->inner.exception_type, + type); + ok(obj->inner.hr == cur_test->hr, "got inner.hr %#lx != %#lx", obj->inner.hr, cur_test->hr); + + count = IInspectable_Release(inspectable); + ok(count == 0, "got count %lu\n", count); + } + winetest_pop_context(); } } diff --git a/dlls/vccorlib140/vccorlib.c b/dlls/vccorlib140/vccorlib.c index 12ff8b6f8d6..86c290f4e37 100644 --- a/dlls/vccorlib140/vccorlib.c +++ b/dlls/vccorlib140/vccorlib.c @@ -609,16 +609,49 @@ void WINAPI __abi_WinRTraiseCOMException(HRESULT hr) WINRT_EXCEPTION(OutOfMemory, E_OUTOFMEMORY) \ WINRT_EXCEPTION(WrongThread, RPC_E_WRONG_THREAD) -#define WINRT_EXCEPTION(name, hr) \ - void WINAPI __abi_WinRTraise##name##Exception(void) \ - { \ - FIXME("(): stub!\n"); \ +#define WINRT_EXCEPTION(name, hr) \ + void WINAPI __abi_WinRTraise##name##Exception(void) \ + { \ + FIXME("(): stub!\n"); \ + } \ + void *__cdecl platform_##name##Exception_ctor(void *this) \ + { \ + FIXME("(%p): stub!\n", this); \ + return this; \ + } \ + void *__cdecl platform_##name##Exception_hstring_ctor(void *this, HSTRING msg) \ + { \ + FIXME("(%p, %s): stub!\n", this, debugstr_hstring(msg)); \ + return this; \ } WINRT_EXCEPTIONS - #undef WINRT_EXCEPTION +void *__cdecl platform_Exception_ctor(void *this, HRESULT hr) +{ + FIXME("(%p, %#lx): stub!\n", this, hr); + return this; +} + +void *__cdecl platform_Exception_hstring_ctor(void *this, HRESULT hr, HSTRING msg) +{ + FIXME("(%p, %#lx, %s): stub!\n", this, hr, debugstr_hstring(msg)); + return this; +} + +void *__cdecl platform_COMException_ctor(void *this, HRESULT hr) +{ + FIXME("(%p, %#lx): stub!\n", this, hr); + return this; +} + +void *__cdecl platform_COMException_hstring_ctor(void *this, HRESULT hr, HSTRING msg) +{ + FIXME("(%p, %#lx, %s): stub!\n", this, hr, debugstr_hstring(msg)); + return this; +} + HSTRING __cdecl platform_exception_get_Message(void *excp) { FIXME("(%p): stub!\n", excp); diff --git a/dlls/vccorlib140/vccorlib140.spec b/dlls/vccorlib140/vccorlib140.spec index 78f090754cc..b6c1f985c0c 100644 --- a/dlls/vccorlib140/vccorlib140.spec +++ b/dlls/vccorlib140/vccorlib140.spec @@ -1,7 +1,7 @@ @ stub -arch=win32 ?<Dispose>@Exception(a)Platform@@U$AAAXXZ @ stub -arch=win64 ?<Dispose>@Exception(a)Platform@@UE$AAAXXZ -@ stub -arch=win32 ??0ChangedStateException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z -@ stub -arch=win64 ??0ChangedStateException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z +@ cdecl -arch=win32 ??0ChangedStateException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z(ptr ptr) platform_ChangedStateException_hstring_ctor +@ cdecl -arch=win64 ??0ChangedStateException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z(ptr ptr) platform_ChangedStateException_hstring_ctor @ stub -arch=win32 ?Equals(a)Exception@Platform@@U$AAA_NP$AAVObject(a)2@@Z @ stub -arch=win64 ?Equals(a)Exception@Platform@@UE$AAA_NPE$AAVObject(a)2@@Z @ stub -arch=win32 ?Equals(a)MTAThreadAttribute@Platform@@Q$AAA_NP$AAVObject(a)2@@Z @@ -22,8 +22,8 @@ @ stub -arch=win64 ?Equals(a)float32@default@@QEAA_NPE$AAVObject(a)Platform@@@Z @ stub -arch=win32 ?Equals(a)float64@default@@QAA_NP$AAVObject(a)Platform@@@Z @ stub -arch=win64 ?Equals(a)float64@default@@QEAA_NPE$AAVObject(a)Platform@@@Z -@ stub -arch=win32 ??0ChangedStateException(a)Platform@@Q$AAA(a)XZ -@ stub -arch=win64 ??0ChangedStateException(a)Platform@@QE$AAA(a)XZ +@ cdecl -arch=win32 ??0ChangedStateException(a)Platform@@Q$AAA(a)XZ(ptr) platform_ChangedStateException_ctor +@ cdecl -arch=win64 ??0ChangedStateException(a)Platform@@QE$AAA(a)XZ(ptr) platform_ChangedStateException_ctor @ stub -arch=win32 ?Equals(a)int16@default@@QAA_NP$AAVObject(a)Platform@@@Z @ stub -arch=win64 ?Equals(a)int16@default@@QEAA_NPE$AAVObject(a)Platform@@@Z @ stub -arch=win32 ?Equals(a)int32@default@@QAA_NP$AAVObject(a)Platform@@@Z @@ -46,8 +46,8 @@ @ stub -arch=i386 ?EventSourceGetTargetArray(a)Details@Platform@@YGPAXPAXPAUEventLock(a)12@@Z @ stub -arch=arm ?EventSourceGetTargetArray(a)Details@Platform@@YAPAXPAXPAUEventLock(a)12@@Z @ stub -arch=win64 ?EventSourceGetTargetArray(a)Details@Platform@@YAPEAXPEAXPEAUEventLock(a)12@@Z -@ stub -arch=win32 ??0ClassNotRegisteredException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z -@ stub -arch=win64 ??0ClassNotRegisteredException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z +@ cdecl -arch=win32 ??0ClassNotRegisteredException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z(ptr ptr) platform_ClassNotRegisteredException_hstring_ctor +@ cdecl -arch=win64 ??0ClassNotRegisteredException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z(ptr ptr) platform_ClassNotRegisteredException_hstring_ctor @ stub -arch=i386 ?EventSourceGetTargetArrayEvent(a)Details@Platform@@YGPAXPAXIPBXPA_J(a)Z @ stub -arch=arm ?EventSourceGetTargetArrayEvent(a)Details@Platform@@YAPAXPAXIPBXPA_J(a)Z @ stub -arch=win64 ?EventSourceGetTargetArrayEvent(a)Details@Platform@@YAPEAXPEAXIPEBXPEA_J(a)Z @@ -76,8 +76,8 @@ @ stdcall -arch=i386 ?GetActivationFactoryByPCWSTR@@YGJPAXAAVGuid(a)Platform@@PAPAX(a)Z(wstr ptr ptr) GetActivationFactoryByPCWSTR @ stdcall -arch=arm ?GetActivationFactoryByPCWSTR@@YAJPAXAAVGuid(a)Platform@@PAPAX(a)Z(wstr ptr ptr) GetActivationFactoryByPCWSTR @ stdcall -arch=win64 ?GetActivationFactoryByPCWSTR@@YAJPEAXAEAVGuid(a)Platform@@PEAPEAX(a)Z(wstr ptr ptr) GetActivationFactoryByPCWSTR -@ stub -arch=win32 ??0ClassNotRegisteredException(a)Platform@@Q$AAA(a)XZ -@ stub -arch=win64 ??0ClassNotRegisteredException(a)Platform@@QE$AAA(a)XZ +@ cdecl -arch=win32 ??0ClassNotRegisteredException(a)Platform@@Q$AAA(a)XZ(ptr) platform_ClassNotRegisteredException_ctor +@ cdecl -arch=win64 ??0ClassNotRegisteredException(a)Platform@@QE$AAA(a)XZ(ptr) platform_ClassNotRegisteredException_ctor @ stub -arch=win32 ?GetCmdArguments(a)Details@Platform@@YAPAPA_WPAH(a)Z @ stub -arch=win64 ?GetCmdArguments(a)Details@Platform@@YAPEAPEA_WPEAH(a)Z @ stub -arch=win32 ?GetHashCode(a)Attribute@Metadata(a)Platform@@Q$AAAHXZ @@ -120,8 +120,8 @@ @ stub -arch=win64 ?GetHashCode(a)int64@default@@QEAAHXZ @ stub -arch=win32 ?GetHashCode(a)int8@default@@QAAHXZ @ stub -arch=win64 ?GetHashCode(a)int8@default@@QEAAHXZ -@ stub -arch=win32 ??0DisconnectedException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z -@ stub -arch=win64 ??0DisconnectedException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z +@ cdecl -arch=win32 ??0DisconnectedException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z(ptr ptr) platform_DisconnectedException_hstring_ctor +@ cdecl -arch=win64 ??0DisconnectedException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z(ptr ptr) platform_DisconnectedException_hstring_ctor @ stub -arch=win32 ?GetHashCode(a)uint16@default@@QAAHXZ @ stub -arch=win64 ?GetHashCode(a)uint16@default@@QEAAHXZ @ stub -arch=win32 ?GetHashCode(a)uint32@default@@QAAHXZ @@ -147,8 +147,8 @@ @ stub -arch=win64 ?GetProxyImpl(a)Details@Platform@@YAJPEAUIUnknown@@AEBU_GUID@@0PEAPEAU3@@Z @ stub -arch=win32 ?GetType(a)Boolean@Platform@@QAAP$AAVType(a)2@XZ @ stub -arch=win64 ?GetType(a)Boolean@Platform@@QEAAPE$AAVType(a)2@XZ -@ stub -arch=win32 ??0DisconnectedException(a)Platform@@Q$AAA(a)XZ -@ stub -arch=win64 ??0DisconnectedException(a)Platform@@QE$AAA(a)XZ +@ cdecl -arch=win32 ??0DisconnectedException(a)Platform@@Q$AAA(a)XZ(ptr) platform_DisconnectedException_ctor +@ cdecl -arch=win64 ??0DisconnectedException(a)Platform@@QE$AAA(a)XZ(ptr) platform_DisconnectedException_ctor @ stub -arch=win32 ?GetType(a)Guid@Platform@@QAAP$AAVType(a)2@XZ @ stub -arch=win64 ?GetType(a)Guid@Platform@@QEAAPE$AAVType(a)2@XZ @ stub -arch=win32 ?GetType(a)Object@Platform@@Q$AAAP$AAVType(a)2@XZ @@ -192,8 +192,8 @@ @ stub -arch=win64 ?IntersectsWith(a)Rect@Foundation(a)Windows@@QEAA_NV123@@Z @ stub -arch=win32 ?Invert(a)Matrix3D@Media3D(a)Media@Xaml(a)UI@Windows@@QAAXXZ @ stub -arch=win64 ?Invert(a)Matrix3D@Media3D(a)Media@Xaml(a)UI@Windows@@QEAAXXZ -@ stub -arch=win32 ??0Exception(a)Platform@@Q$AAA(a)H@Z -@ stub -arch=win64 ??0Exception(a)Platform@@QE$AAA(a)H@Z +@ cdecl -arch=win32 ??0Exception(a)Platform@@Q$AAA(a)H@Z(ptr long) platform_Exception_ctor +@ cdecl -arch=win64 ??0Exception(a)Platform@@QE$AAA(a)H@Z(ptr long) platform_Exception_ctor @ stub -arch=win32 ?ReCreateException(a)Exception@Platform@@SAP$AAV12(a)H@Z @ stub -arch=win64 ?ReCreateException(a)Exception@Platform@@SAPE$AAV12(a)H@Z @ stub -arch=win32 ?ReferenceEquals(a)Object@Platform@@SA_NP$AAV12(a)0@Z @@ -221,8 +221,8 @@ @ stub -arch=i386 ?TerminateModule(a)Details@Platform@@YG_NPAVModuleBase(a)1WRL@Microsoft@@@Z @ stub -arch=arm ?TerminateModule(a)Details@Platform@@YA_NPAVModuleBase(a)1WRL@Microsoft@@@Z @ stub -arch=win64 ?TerminateModule(a)Details@Platform@@YA_NPEAVModuleBase(a)1WRL@Microsoft@@@Z -@ stub -arch=win32 ??0Exception(a)Platform@@Q$AAA(a)HP$AAVString(a)1@@Z -@ stub -arch=win64 ??0Exception(a)Platform@@QE$AAA(a)HPE$AAVString(a)1@@Z +@ cdecl -arch=win32 ??0Exception(a)Platform@@Q$AAA(a)HP$AAVString(a)1@@Z(ptr long ptr) platform_Exception_hstring_ctor +@ cdecl -arch=win64 ??0Exception(a)Platform@@QE$AAA(a)HPE$AAVString(a)1@@Z(ptr long ptr) platform_Exception_hstring_ctor @ stub -arch=win32 ?ToInt32(a)IntPtr@Platform@@QAAHXZ @ stub -arch=win64 ?ToInt32(a)IntPtr@Platform@@QEAAHXZ @ stub -arch=win32 ?ToString(a)Attribute@Metadata(a)Platform@@Q$AAAP$AAVString(a)3@XZ @@ -245,8 +245,8 @@ @ stub -arch=win64 ?ToString(a)STAThreadAttribute@Platform@@QE$AAAPE$AAVString(a)2@XZ @ stub -arch=win32 ?<Dispose>@String(a)Platform@@U$AAAXXZ @ stub -arch=win64 ?<Dispose>@String(a)Platform@@UE$AAAXXZ -@ stub -arch=win32 ??0FailureException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z -@ stub -arch=win64 ??0FailureException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z +@ cdecl -arch=win32 ??0FailureException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z(ptr ptr) platform_FailureException_hstring_ctor +@ cdecl -arch=win64 ??0FailureException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z(ptr ptr) platform_FailureException_hstring_ctor @ cdecl -arch=win32 ?ToString(a)Type@Platform@@U$AAAP$AAVString(a)2@XZ(ptr) platform_type_ToString @ cdecl -arch=win64 ?ToString(a)Type@Platform@@UE$AAAPE$AAVString(a)2@XZ(ptr) platform_type_ToString @ stub -arch=win32 ?ToString(a)ValueType@Platform@@Q$AAAP$AAVString(a)2@XZ @@ -267,8 +267,8 @@ @ stub -arch=win64 ?ToString(a)int8@default@@QEAAPE$AAVString(a)Platform@@XZ @ stub -arch=win32 ?ToString(a)uint16@default@@QAAP$AAVString(a)Platform@@XZ @ stub -arch=win64 ?ToString(a)uint16@default@@QEAAPE$AAVString(a)Platform@@XZ -@ stub -arch=win32 ??0FailureException(a)Platform@@Q$AAA(a)XZ -@ stub -arch=win64 ??0FailureException(a)Platform@@QE$AAA(a)XZ +@ cdecl -arch=win32 ??0FailureException(a)Platform@@Q$AAA(a)XZ(ptr) platform_FailureException_ctor +@ cdecl -arch=win64 ??0FailureException(a)Platform@@QE$AAA(a)XZ(ptr) platform_FailureException_ctor @ stub -arch=win32 ?ToString(a)uint32@default@@QAAP$AAVString(a)Platform@@XZ @ stub -arch=win64 ?ToString(a)uint32@default@@QEAAPE$AAVString(a)Platform@@XZ @ stub -arch=win32 ?ToString(a)uint64@default@@QAAP$AAVString(a)Platform@@XZ @@ -355,8 +355,8 @@ @ cdecl -arch=win64 ?get(a)FullName@Type(a)Platform@@QE$AAAPE$AAVString(a)3@XZ(ptr) platform_type_get_FullName @ stub -arch=win32 ?get(a)HasInverse@Matrix3D(a)Media3D@Media(a)Xaml@UI(a)Windows@@QAA_NXZ @ stub -arch=win64 ?get(a)HasInverse@Matrix3D(a)Media3D@Media(a)Xaml@UI(a)Windows@@QEAA_NXZ -@ stub -arch=win32 ??0InvalidArgumentException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z -@ stub -arch=win64 ??0InvalidArgumentException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z +@ cdecl -arch=win32 ??0InvalidArgumentException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z(ptr ptr) platform_InvalidArgumentException_hstring_ctor +@ cdecl -arch=win64 ??0InvalidArgumentException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z(ptr ptr) platform_InvalidArgumentException_hstring_ctor @ cdecl -arch=win32 ?get(a)Message@Exception(a)Platform@@Q$AAAP$AAVString(a)3@XZ(ptr) platform_exception_get_Message @ cdecl -arch=win64 ?get(a)Message@Exception(a)Platform@@QE$AAAPE$AAVString(a)3@XZ(ptr) platform_exception_get_Message @ stub ?get(a)ObjectCount@Heap(a)Details@Platform@@SAHXZ @@ -366,46 +366,46 @@ @ stub ?set(a)BreakOnAllocationId@Heap(a)Details@Platform@@SAXH(a)Z @ stub ?set(a)BreakOnFreeId@Heap(a)Details@Platform@@SAXH(a)Z @ stub ?set(a)TrackingLevel@Heap(a)Details@Platform@@SAXW4HeapAllocationTrackingLevel(a)34@@Z -@ stub -arch=win32 ??0InvalidArgumentException(a)Platform@@Q$AAA(a)XZ -@ stub -arch=win64 ??0InvalidArgumentException(a)Platform@@QE$AAA(a)XZ -@ stub -arch=win32 ??0InvalidCastException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z -@ stub -arch=win64 ??0InvalidCastException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z -@ stub -arch=win32 ??0InvalidCastException(a)Platform@@Q$AAA(a)XZ -@ stub -arch=win64 ??0InvalidCastException(a)Platform@@QE$AAA(a)XZ +@ cdecl -arch=win32 ??0InvalidArgumentException(a)Platform@@Q$AAA(a)XZ(ptr) platform_InvalidArgumentException_ctor +@ cdecl -arch=win64 ??0InvalidArgumentException(a)Platform@@QE$AAA(a)XZ(ptr) platform_InvalidArgumentException_ctor +@ cdecl -arch=win32 ??0InvalidCastException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z(ptr ptr) platform_InvalidCastException_hstring_ctor +@ cdecl -arch=win64 ??0InvalidCastException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z(ptr ptr) platform_InvalidCastException_hstring_ctor +@ cdecl -arch=win32 ??0InvalidCastException(a)Platform@@Q$AAA(a)XZ(ptr) platform_InvalidCastException_ctor +@ cdecl -arch=win64 ??0InvalidCastException(a)Platform@@QE$AAA(a)XZ(ptr) platform_InvalidCastException_ctor @ stub -arch=win32 ??0MTAThreadAttribute(a)Platform@@Q$AAA(a)XZ @ stub -arch=win64 ??0MTAThreadAttribute(a)Platform@@QE$AAA(a)XZ @ stub -arch=win32 ?<Dispose>@Type(a)Platform@@U$AAAXXZ @ stub -arch=win64 ?<Dispose>@Type(a)Platform@@UE$AAAXXZ -@ stub -arch=win32 ??0NotImplementedException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z -@ stub -arch=win64 ??0NotImplementedException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z -@ stub -arch=win32 ??0NotImplementedException(a)Platform@@Q$AAA(a)XZ -@ stub -arch=win64 ??0NotImplementedException(a)Platform@@QE$AAA(a)XZ -@ stub -arch=win32 ??0NullReferenceException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z -@ stub -arch=win64 ??0NullReferenceException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z -@ stub -arch=win32 ??0NullReferenceException(a)Platform@@Q$AAA(a)XZ -@ stub -arch=win64 ??0NullReferenceException(a)Platform@@QE$AAA(a)XZ +@ cdecl -arch=win32 ??0NotImplementedException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z(ptr ptr) platform_NotImplementedException_hstring_ctor +@ cdecl -arch=win64 ??0NotImplementedException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z(ptr ptr) platform_NotImplementedException_hstring_ctor +@ cdecl -arch=win32 ??0NotImplementedException(a)Platform@@Q$AAA(a)XZ(ptr) platform_NotImplementedException_ctor +@ cdecl -arch=win64 ??0NotImplementedException(a)Platform@@QE$AAA(a)XZ(ptr) platform_NotImplementedException_ctor +@ cdecl -arch=win32 ??0NullReferenceException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z(ptr ptr) platform_NullReferenceException_hstring_ctor +@ cdecl -arch=win64 ??0NullReferenceException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z(ptr ptr) platform_NullReferenceException_hstring_ctor +@ cdecl -arch=win32 ??0NullReferenceException(a)Platform@@Q$AAA(a)XZ(ptr) platform_NullReferenceException_ctor +@ cdecl -arch=win64 ??0NullReferenceException(a)Platform@@QE$AAA(a)XZ(ptr) platform_NullReferenceException_ctor @ stub -arch=win32 ??0Object(a)Platform@@Q$AAA(a)XZ @ stub -arch=win64 ??0Object(a)Platform@@QE$AAA(a)XZ -@ stub -arch=win32 ??0ObjectDisposedException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z -@ stub -arch=win64 ??0ObjectDisposedException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z -@ stub -arch=win32 ??0ObjectDisposedException(a)Platform@@Q$AAA(a)XZ -@ stub -arch=win64 ??0ObjectDisposedException(a)Platform@@QE$AAA(a)XZ +@ cdecl -arch=win32 ??0ObjectDisposedException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z(ptr ptr) platform_ObjectDisposedException_hstring_ctor +@ cdecl -arch=win64 ??0ObjectDisposedException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z(ptr ptr) platform_ObjectDisposedException_hstring_ctor +@ cdecl -arch=win32 ??0ObjectDisposedException(a)Platform@@Q$AAA(a)XZ(ptr) platform_ObjectDisposedException_ctor +@ cdecl -arch=win64 ??0ObjectDisposedException(a)Platform@@QE$AAA(a)XZ(ptr) platform_ObjectDisposedException_ctor @ stub -arch=win32 ??0OnePhaseConstructedAttribute(a)CompilerServices@Runtime(a)Platform@@Q$AAA(a)XZ @ stub -arch=win64 ??0OnePhaseConstructedAttribute(a)CompilerServices@Runtime(a)Platform@@QE$AAA(a)XZ -@ stub -arch=win32 ??0OperationCanceledException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z -@ stub -arch=win64 ??0OperationCanceledException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z -@ stub -arch=win32 ??0OperationCanceledException(a)Platform@@Q$AAA(a)XZ -@ stub -arch=win64 ??0OperationCanceledException(a)Platform@@QE$AAA(a)XZ -@ stub -arch=win32 ??0AccessDeniedException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z -@ stub -arch=win64 ??0AccessDeniedException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z -@ stub -arch=win32 ??0OutOfBoundsException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z -@ stub -arch=win64 ??0OutOfBoundsException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z -@ stub -arch=win32 ??0OutOfBoundsException(a)Platform@@Q$AAA(a)XZ -@ stub -arch=win64 ??0OutOfBoundsException(a)Platform@@QE$AAA(a)XZ -@ stub -arch=win32 ??0OutOfMemoryException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z -@ stub -arch=win64 ??0OutOfMemoryException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z -@ stub -arch=win32 ??0OutOfMemoryException(a)Platform@@Q$AAA(a)XZ -@ stub -arch=win64 ??0OutOfMemoryException(a)Platform@@QE$AAA(a)XZ +@ cdecl -arch=win32 ??0OperationCanceledException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z(ptr ptr) platform_OperationCanceledException_hstring_ctor +@ cdecl -arch=win64 ??0OperationCanceledException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z(ptr ptr) platform_OperationCanceledException_hstring_ctor +@ cdecl -arch=win32 ??0OperationCanceledException(a)Platform@@Q$AAA(a)XZ(ptr) platform_OperationCanceledException_ctor +@ cdecl -arch=win64 ??0OperationCanceledException(a)Platform@@QE$AAA(a)XZ(ptr) platform_OperationCanceledException_ctor +@ cdecl -arch=win32 ??0AccessDeniedException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z(ptr ptr) platform_AccessDeniedException_hstring_ctor +@ cdecl -arch=win64 ??0AccessDeniedException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z(ptr ptr) platform_AccessDeniedException_hstring_ctor +@ cdecl -arch=win32 ??0OutOfBoundsException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z(ptr ptr) platform_OutOfBoundsException_hstring_ctor +@ cdecl -arch=win64 ??0OutOfBoundsException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z(ptr ptr) platform_OutOfBoundsException_hstring_ctor +@ cdecl -arch=win32 ??0OutOfBoundsException(a)Platform@@Q$AAA(a)XZ(ptr) platform_OutOfBoundsException_ctor +@ cdecl -arch=win64 ??0OutOfBoundsException(a)Platform@@QE$AAA(a)XZ(ptr) platform_OutOfBoundsException_ctor +@ cdecl -arch=win32 ??0OutOfMemoryException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z(ptr ptr) platform_OutOfMemoryException_hstring_ctor +@ cdecl -arch=win64 ??0OutOfMemoryException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z(ptr ptr) platform_OutOfMemoryException_hstring_ctor +@ cdecl -arch=win32 ??0OutOfMemoryException(a)Platform@@Q$AAA(a)XZ(ptr) platform_OutOfMemoryException_ctor +@ cdecl -arch=win64 ??0OutOfMemoryException(a)Platform@@QE$AAA(a)XZ(ptr) platform_OutOfMemoryException_ctor @ stub -arch=win32 ??0Rect(a)Foundation@Windows@@QAA(a)VPoint@12(a)0@Z @ stub -arch=win64 ??0Rect(a)Foundation@Windows@@QEAA(a)VPoint@12(a)0@Z @ stub -arch=win32 ??0Rect(a)Foundation@Windows@@QAA(a)VPoint@12(a)VSize@12@@Z @@ -418,8 +418,8 @@ @ stub -arch=win64 ??0SizeT(a)Platform@@QEAA(a)H@Z @ stub -arch=win32 ??0SizeT(a)Platform@@QAA(a)PAX@Z @ stub -arch=win64 ??0SizeT(a)Platform@@QEAA(a)PEAX@Z -@ stub -arch=win32 ??0AccessDeniedException(a)Platform@@Q$AAA(a)XZ -@ stub -arch=win64 ??0AccessDeniedException(a)Platform@@QE$AAA(a)XZ +@ cdecl -arch=win32 ??0AccessDeniedException(a)Platform@@Q$AAA(a)XZ(ptr) platform_AccessDeniedException_ctor +@ cdecl -arch=win64 ??0AccessDeniedException(a)Platform@@QE$AAA(a)XZ(ptr) platform_AccessDeniedException_ctor @ stub -arch=win32 ??0Type(a)Platform@@Q$AAA(a)P$AAVObject(a)1@@Z @ stub -arch=win64 ??0Type(a)Platform@@QE$AAA(a)PE$AAVObject(a)1@@Z @ stub -arch=win32 ??0Type(a)Platform@@Q$AAA(a)VIntPtr@1@@Z @@ -428,10 +428,10 @@ @ stub -arch=win64 ??0Type(a)Platform@@QE$AAA(a)VTypeName@Interop(a)Xaml@UI(a)Windows@@@Z @ stub -arch=win32 ??0ValueType(a)Platform@@Q$AAA(a)XZ @ stub -arch=win64 ??0ValueType(a)Platform@@QE$AAA(a)XZ -@ stub -arch=win32 ??0WrongThreadException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z -@ stub -arch=win64 ??0WrongThreadException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z -@ stub -arch=win32 ??0WrongThreadException(a)Platform@@Q$AAA(a)XZ -@ stub -arch=win64 ??0WrongThreadException(a)Platform@@QE$AAA(a)XZ +@ cdecl -arch=win32 ??0WrongThreadException(a)Platform@@Q$AAA(a)P$AAVString(a)1@@Z(ptr ptr) platform_WrongThreadException_hstring_ctor +@ cdecl -arch=win64 ??0WrongThreadException(a)Platform@@QE$AAA(a)PE$AAVString(a)1@@Z(ptr ptr) platform_WrongThreadException_hstring_ctor +@ cdecl -arch=win32 ??0WrongThreadException(a)Platform@@Q$AAA(a)XZ(ptr) platform_WrongThreadException_ctor +@ cdecl -arch=win64 ??0WrongThreadException(a)Platform@@QE$AAA(a)XZ(ptr) platform_WrongThreadException_ctor @ stub -arch=win32 ??0char16(a)default@@QAA(a)_W@Z @ stub -arch=win64 ??0char16(a)default@@QEAA(a)_W@Z @ stub -arch=win32 ??0float32(a)default@@QAA(a)M@Z @@ -476,8 +476,8 @@ @ stub ??PDuration(a)Xaml@UI(a)Windows@@SA_NV0123(a)0@Z @ stub -arch=win32 ?AlignedAllocate(a)Heap@Details(a)Platform@@SAPAXII(a)Z @ stub -arch=win64 ?AlignedAllocate(a)Heap@Details(a)Platform@@SAPEAX_K00(a)Z -@ stub -arch=win32 ??0COMException(a)Platform@@Q$AAA(a)H@Z -@ stub -arch=win64 ??0COMException(a)Platform@@QE$AAA(a)H@Z +@ cdecl -arch=win32 ??0COMException(a)Platform@@Q$AAA(a)H@Z(ptr long) platform_COMException_ctor +@ cdecl -arch=win64 ??0COMException(a)Platform@@QE$AAA(a)H@Z(ptr long) platform_COMException_ctor @ stub -arch=win32 ?AlignedAllocate(a)Heap@Details(a)Platform@@SAPAXIII(a)Z @ stub -arch=win64 ?AlignedAllocate(a)Heap@Details(a)Platform@@SAPEAX_K0(a)Z @ stub -arch=win32 ?AlignedAllocateException(a)Heap@Details(a)Platform@@SAPAXII(a)Z @@ -497,8 +497,8 @@ @ cdecl -arch=win32 ?AllocateException(a)Heap@Details(a)Platform@@SAPAXII(a)Z(long long) AllocateExceptionWithWeakRef @ cdecl -arch=win64 ?AllocateException(a)Heap@Details(a)Platform@@SAPEAX_K(a)Z(long) AllocateException @ stub ?Compare(a)Duration@Xaml(a)UI@Windows@@SAHV1234(a)0@Z -@ stub -arch=win32 ??0COMException(a)Platform@@Q$AAA(a)HP$AAVString(a)1@@Z -@ stub -arch=win64 ??0COMException(a)Platform@@QE$AAA(a)HPE$AAVString(a)1@@Z +@ cdecl -arch=win32 ??0COMException(a)Platform@@Q$AAA(a)HP$AAVString(a)1@@Z(ptr long ptr) platform_COMException_hstring_ctor +@ cdecl -arch=win64 ??0COMException(a)Platform@@QE$AAA(a)HPE$AAVString(a)1@@Z(ptr long ptr) platform_COMException_hstring_ctor @ stub -arch=win32 ?Contains(a)Rect@Foundation(a)Windows@@QAA_NVPoint(a)23@@Z @ stub -arch=win64 ?Contains(a)Rect@Foundation(a)Windows@@QEAA_NVPoint(a)23@@Z @ cdecl -arch=win32 ?CreateException(a)Exception@Platform@@SAP$AAV12(a)H@Z(long) CreateException -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9300