From: Vibhav Pant <vibhavp(a)gmail.com> --- dlls/vccorlib140/vccorlib.c | 49 +++++++++++++++++ dlls/vccorlib140/vccorlib140.spec | 87 +++++++++++++------------------ 2 files changed, 85 insertions(+), 51 deletions(-) diff --git a/dlls/vccorlib140/vccorlib.c b/dlls/vccorlib140/vccorlib.c index 22ac7e5c2d8..12ff8b6f8d6 100644 --- a/dlls/vccorlib140/vccorlib.c +++ b/dlls/vccorlib140/vccorlib.c @@ -576,6 +576,55 @@ void *WINAPI CreateValue(int typecode, const void *val) return obj; } +void *__cdecl CreateExceptionWithMessage(HRESULT hr, HSTRING msg) +{ + FIXME("(%#lx, %s): stub!\n", hr, debugstr_hstring(msg)); + return NULL; +} + +void *__cdecl CreateException(HRESULT hr) +{ + FIXME("(%#lx): stub!\n", hr); + return NULL; +} + +void WINAPI __abi_WinRTraiseCOMException(HRESULT hr) +{ + FIXME("(%#lx): stub!\n", hr); +} + +#define WINRT_EXCEPTIONS \ + WINRT_EXCEPTION(AccessDenied, E_ACCESSDENIED) \ + WINRT_EXCEPTION(ChangedState, E_CHANGED_STATE) \ + WINRT_EXCEPTION(ClassNotRegistered, REGDB_E_CLASSNOTREG) \ + WINRT_EXCEPTION(Disconnected, RPC_E_DISCONNECTED) \ + WINRT_EXCEPTION(Failure, E_FAIL) \ + WINRT_EXCEPTION(InvalidArgument, E_INVALIDARG) \ + WINRT_EXCEPTION(InvalidCast, E_NOINTERFACE) \ + WINRT_EXCEPTION(NotImplemented, E_NOTIMPL) \ + WINRT_EXCEPTION(NullReference, E_POINTER) \ + WINRT_EXCEPTION(ObjectDisposed, RO_E_CLOSED) \ + WINRT_EXCEPTION(OperationCanceled, E_ABORT) \ + WINRT_EXCEPTION(OutOfBounds, E_BOUNDS) \ + 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"); \ + } + +WINRT_EXCEPTIONS + +#undef WINRT_EXCEPTION + +HSTRING __cdecl platform_exception_get_Message(void *excp) +{ + FIXME("(%p): stub!\n", excp); + return NULL; +} + BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, void *reserved) { if (reason == DLL_PROCESS_ATTACH) diff --git a/dlls/vccorlib140/vccorlib140.spec b/dlls/vccorlib140/vccorlib140.spec index a77ac7d414e..78f090754cc 100644 --- a/dlls/vccorlib140/vccorlib140.spec +++ b/dlls/vccorlib140/vccorlib140.spec @@ -295,53 +295,38 @@ @ stub -arch=win64 ?__abi_ObjectToString(a)__abi_details@@YAPE$AAVString(a)Platform@@PE$AAVObject(a)3@_N(a)Z @ stub -arch=win32 ?__abi_Resolve(a)ControlBlock@Details(a)Platform@@UAGJAAVGuid(a)3@PAPAU__abi_IInspectable@@@Z @ stub -arch=win64 ?__abi_Resolve(a)ControlBlock@Details(a)Platform@@UEAAJAEAVGuid(a)3@PEAPEAU__abi_IInspectable@@@Z -@ stub -arch=i386 ?__abi_WinRTraiseAccessDeniedException@@YGXXZ -@ stub -arch=arm ?__abi_WinRTraiseAccessDeniedException@@YAXXZ -@ stub -arch=win64 ?__abi_WinRTraiseAccessDeniedException@@YAXXZ -@ stub -arch=i386 ?__abi_WinRTraiseCOMException@@YGXJ(a)Z -@ stub -arch=arm ?__abi_WinRTraiseCOMException@@YAXJ(a)Z -@ stub -arch=win64 ?__abi_WinRTraiseCOMException@@YAXJ(a)Z -@ stub -arch=i386 ?__abi_WinRTraiseChangedStateException@@YGXXZ -@ stub -arch=arm ?__abi_WinRTraiseChangedStateException@@YAXXZ -@ stub -arch=win64 ?__abi_WinRTraiseChangedStateException@@YAXXZ -@ stub -arch=i386 ?__abi_WinRTraiseClassNotRegisteredException@@YGXXZ -@ stub -arch=arm ?__abi_WinRTraiseClassNotRegisteredException@@YAXXZ -@ stub -arch=win64 ?__abi_WinRTraiseClassNotRegisteredException@@YAXXZ -@ stub -arch=i386 ?__abi_WinRTraiseDisconnectedException@@YGXXZ -@ stub -arch=arm ?__abi_WinRTraiseDisconnectedException@@YAXXZ -@ stub -arch=win64 ?__abi_WinRTraiseDisconnectedException@@YAXXZ -@ stub -arch=i386 ?__abi_WinRTraiseFailureException@@YGXXZ -@ stub -arch=arm ?__abi_WinRTraiseFailureException@@YAXXZ -@ stub -arch=win64 ?__abi_WinRTraiseFailureException@@YAXXZ -@ stub -arch=i386 ?__abi_WinRTraiseInvalidArgumentException@@YGXXZ -@ stub -arch=arm ?__abi_WinRTraiseInvalidArgumentException@@YAXXZ -@ stub -arch=win64 ?__abi_WinRTraiseInvalidArgumentException@@YAXXZ -@ stub -arch=i386 ?__abi_WinRTraiseInvalidCastException@@YGXXZ -@ stub -arch=arm ?__abi_WinRTraiseInvalidCastException@@YAXXZ -@ stub -arch=win64 ?__abi_WinRTraiseInvalidCastException@@YAXXZ +@ stdcall -arch=i386 ?__abi_WinRTraiseAccessDeniedException@@YGXXZ() __abi_WinRTraiseAccessDeniedException +@ stdcall -arch=arm,win64 ?__abi_WinRTraiseAccessDeniedException@@YAXXZ() __abi_WinRTraiseAccessDeniedException +@ stdcall -arch=i386 ?__abi_WinRTraiseCOMException@@YGXJ(a)Z(long) __abi_WinRTraiseCOMException +@ stdcall -arch=arm,win64 ?__abi_WinRTraiseCOMException@@YAXJ(a)Z(long) __abi_WinRTraiseCOMException +@ stdcall -arch=i386 ?__abi_WinRTraiseChangedStateException@@YGXXZ() __abi_WinRTraiseChangedStateException +@ stdcall -arch=arm,win64 ?__abi_WinRTraiseChangedStateException@@YAXXZ() __abi_WinRTraiseChangedStateException +@ stdcall -arch=i386 ?__abi_WinRTraiseClassNotRegisteredException@@YGXXZ() __abi_WinRTraiseClassNotRegisteredException +@ stdcall -arch=arm,win64 ?__abi_WinRTraiseClassNotRegisteredException@@YAXXZ() __abi_WinRTraiseClassNotRegisteredException +@ stdcall -arch=i386 ?__abi_WinRTraiseDisconnectedException@@YGXXZ() __abi_WinRTraiseDisconnectedException +@ stdcall -arch=arm,win64 ?__abi_WinRTraiseDisconnectedException@@YAXXZ() __abi_WinRTraiseDisconnectedException +@ stdcall -arch=i386 ?__abi_WinRTraiseFailureException@@YGXXZ() __abi_WinRTraiseFailureException +@ stdcall -arch=arm,win64 ?__abi_WinRTraiseFailureException@@YAXXZ() __abi_WinRTraiseFailureException +@ stdcall -arch=i386 ?__abi_WinRTraiseInvalidArgumentException@@YGXXZ() __abi_WinRTraiseInvalidArgumentException +@ stdcall -arch=arm,win64 ?__abi_WinRTraiseInvalidArgumentException@@YAXXZ() __abi_WinRTraiseInvalidArgumentException +@ stdcall -arch=i386 ?__abi_WinRTraiseInvalidCastException@@YGXXZ() __abi_WinRTraiseInvalidCastException +@ stdcall -arch=arm,win64 ?__abi_WinRTraiseInvalidCastException@@YAXXZ() __abi_WinRTraiseInvalidCastException @ stub -arch=win32 ??0IntPtr(a)Platform@@QAA(a)H@Z @ stub -arch=win64 ??0IntPtr(a)Platform@@QEAA(a)H@Z -@ stub -arch=i386 ?__abi_WinRTraiseNotImplementedException@@YGXXZ -@ stub -arch=arm ?__abi_WinRTraiseNotImplementedException@@YAXXZ -@ stub -arch=win64 ?__abi_WinRTraiseNotImplementedException@@YAXXZ -@ stub -arch=i386 ?__abi_WinRTraiseNullReferenceException@@YGXXZ -@ stub -arch=arm ?__abi_WinRTraiseNullReferenceException@@YAXXZ -@ stub -arch=win64 ?__abi_WinRTraiseNullReferenceException@@YAXXZ -@ stub -arch=i386 ?__abi_WinRTraiseObjectDisposedException@@YGXXZ -@ stub -arch=arm ?__abi_WinRTraiseObjectDisposedException@@YAXXZ -@ stub -arch=win64 ?__abi_WinRTraiseObjectDisposedException@@YAXXZ -@ stub -arch=i386 ?__abi_WinRTraiseOperationCanceledException@@YGXXZ -@ stub -arch=arm ?__abi_WinRTraiseOperationCanceledException@@YAXXZ -@ stub -arch=win64 ?__abi_WinRTraiseOperationCanceledException@@YAXXZ -@ stub -arch=i386 ?__abi_WinRTraiseOutOfBoundsException@@YGXXZ -@ stub -arch=arm ?__abi_WinRTraiseOutOfBoundsException@@YAXXZ -@ stub -arch=win64 ?__abi_WinRTraiseOutOfBoundsException@@YAXXZ -@ stub -arch=i386 ?__abi_WinRTraiseOutOfMemoryException@@YGXXZ -@ stub -arch=arm ?__abi_WinRTraiseOutOfMemoryException@@YAXXZ -@ stub -arch=win64 ?__abi_WinRTraiseOutOfMemoryException@@YAXXZ -@ stub -arch=i386 ?__abi_WinRTraiseWrongThreadException@@YGXXZ -@ stub -arch=arm ?__abi_WinRTraiseWrongThreadException@@YAXXZ -@ stub -arch=win64 ?__abi_WinRTraiseWrongThreadException@@YAXXZ +@ stdcall -arch=i386 ?__abi_WinRTraiseNotImplementedException@@YGXXZ() __abi_WinRTraiseNotImplementedException +@ stdcall -arch=arm,win64 ?__abi_WinRTraiseNotImplementedException@@YAXXZ() __abi_WinRTraiseNotImplementedException +@ stdcall -arch=i386 ?__abi_WinRTraiseNullReferenceException@@YGXXZ() __abi_WinRTraiseNullReferenceException +@ stdcall -arch=arm,win64 ?__abi_WinRTraiseNullReferenceException@@YAXXZ() __abi_WinRTraiseNullReferenceException +@ stdcall -arch=i386 ?__abi_WinRTraiseObjectDisposedException@@YGXXZ() __abi_WinRTraiseObjectDisposedException +@ stdcall -arch=arm,win64 ?__abi_WinRTraiseObjectDisposedException@@YAXXZ() __abi_WinRTraiseObjectDisposedException +@ stdcall -arch=i386 ?__abi_WinRTraiseOperationCanceledException@@YGXXZ() __abi_WinRTraiseOperationCanceledException +@ stdcall -arch=arm,win64 ?__abi_WinRTraiseOperationCanceledException@@YAXXZ() __abi_WinRTraiseOperationCanceledException +@ stdcall -arch=i386 ?__abi_WinRTraiseOutOfBoundsException@@YGXXZ() __abi_WinRTraiseOutOfBoundsException +@ stdcall -arch=arm,win64 ?__abi_WinRTraiseOutOfBoundsException@@YAXXZ() __abi_WinRTraiseOutOfBoundsException +@ stdcall -arch=i386 ?__abi_WinRTraiseOutOfMemoryException@@YGXXZ() __abi_WinRTraiseOutOfMemoryException +@ stdcall -arch=arm,win64 ?__abi_WinRTraiseOutOfMemoryException@@YAXXZ() __abi_WinRTraiseOutOfMemoryException +@ stdcall -arch=i386 ?__abi_WinRTraiseWrongThreadException@@YGXXZ() __abi_WinRTraiseWrongThreadException +@ stdcall -arch=arm,win64 ?__abi_WinRTraiseWrongThreadException@@YAXXZ() __abi_WinRTraiseWrongThreadException @ stub -arch=i386 ?__abi_cast_Object_to_String(a)__abi_details@@YGP$AAVString(a)Platform@@_NP$AAVObject(a)3@@Z @ stub -arch=arm ?__abi_cast_Object_to_String(a)__abi_details@@YAP$AAVString(a)Platform@@_NP$AAVObject(a)3@@Z @ stub -arch=win64 ?__abi_cast_Object_to_String(a)__abi_details@@YAPE$AAVString(a)Platform@@_NPE$AAVObject(a)3@@Z @@ -372,8 +357,8 @@ @ 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 -@ stub -arch=win32 ?get(a)Message@Exception(a)Platform@@Q$AAAP$AAVString(a)3@XZ -@ stub -arch=win64 ?get(a)Message@Exception(a)Platform@@QE$AAAPE$AAVString(a)3@XZ +@ 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 @ stub -arch=win32 ?get(a)Right@Rect(a)Foundation@Windows@@QAAMXZ @ stub -arch=win64 ?get(a)Right@Rect(a)Foundation@Windows@@QEAAMXZ @@ -516,10 +501,10 @@ @ stub -arch=win64 ??0COMException(a)Platform@@QE$AAA(a)HPE$AAVString(a)1@@Z @ 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 -@ stub -arch=win32 ?CreateException(a)Exception@Platform@@SAP$AAV12(a)H@Z -@ stub -arch=win64 ?CreateException(a)Exception@Platform@@SAPE$AAV12(a)H@Z -@ stub -arch=win32 ?CreateException(a)Exception@Platform@@SAP$AAV12(a)HP$AAVString(a)2@@Z -@ stub -arch=win64 ?CreateException(a)Exception@Platform@@SAPE$AAV12(a)HPE$AAVString(a)2@@Z +@ cdecl -arch=win32 ?CreateException(a)Exception@Platform@@SAP$AAV12(a)H@Z(long) CreateException +@ cdecl -arch=win64 ?CreateException(a)Exception@Platform@@SAPE$AAV12(a)H@Z(long) CreateException +@ cdecl -arch=win32 ?CreateException(a)Exception@Platform@@SAP$AAV12(a)HP$AAVString(a)2@@Z(long ptr) CreateExceptionWithMessage +@ cdecl -arch=win64 ?CreateException(a)Exception@Platform@@SAPE$AAV12(a)HPE$AAVString(a)2@@Z(long ptr) CreateExceptionWithMessage @ stdcall -arch=i386 ?CreateValue(a)Details@Platform@@YGP$AAVObject(a)2@W4TypeCode(a)2@PBX(a)Z(long ptr) CreateValue @ stdcall -arch=arm ?CreateValue(a)Details@Platform@@YAP$AAVObject(a)2@W4TypeCode(a)2@PBX(a)Z(long ptr) CreateValue @ stdcall -arch=win64 ?CreateValue(a)Details@Platform@@YAPE$AAVObject(a)2@W4TypeCode(a)2@PEBX(a)Z(long ptr) CreateValue -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9300