[PATCH v2 1/2] ole32: Add CoEnableCallCancellation stub.

Huw Davies huw at codeweavers.com
Thu Feb 28 03:05:37 CST 2019


From: Louis Lenders <xerox.xerox2000x at gmail.com>

Wine bug https://bugs.winehq.org/show_bug.cgi?id=46732

Signed-off-by: Louis Lenders <xerox.xerox2000x at gmail.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
---
 .../api-ms-win-core-com-l1-1-0.spec                    |  2 +-
 .../api-ms-win-core-com-l1-1-1.spec                    |  2 +-
 dlls/combase/combase.spec                              |  2 +-
 dlls/ole32/compobj.c                                   | 10 ++++++++++
 dlls/ole32/ole32.spec                                  |  1 +
 include/objbase.h                                      |  2 ++
 6 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec b/dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec
index 954d6dae02..aea0fef687 100644
--- a/dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec
+++ b/dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec
@@ -14,7 +14,7 @@
 @ stub CoDisableCallCancellation
 @ stub CoDisconnectContext
 @ stdcall CoDisconnectObject(ptr long) ole32.CoDisconnectObject
-@ stub CoEnableCallCancellation
+@ stdcall CoEnableCallCancellation(ptr) ole32.CoEnableCallCancellation
 @ stdcall CoFreeUnusedLibraries() ole32.CoFreeUnusedLibraries
 @ stdcall CoFreeUnusedLibrariesEx(long long) ole32.CoFreeUnusedLibrariesEx
 @ stdcall CoGetApartmentType(ptr ptr) ole32.CoGetApartmentType
diff --git a/dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec b/dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec
index a124d34f0e..3cfdedae38 100644
--- a/dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec
+++ b/dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec
@@ -14,7 +14,7 @@
 @ stub CoDisableCallCancellation
 @ stub CoDisconnectContext
 @ stdcall CoDisconnectObject(ptr long) ole32.CoDisconnectObject
-@ stub CoEnableCallCancellation
+@ stdcall CoEnableCallCancellation(ptr) ole32.CoEnableCallCancellation
 @ stdcall CoFreeUnusedLibraries() ole32.CoFreeUnusedLibraries
 @ stdcall CoFreeUnusedLibrariesEx(long long) ole32.CoFreeUnusedLibrariesEx
 @ stdcall CoGetApartmentType(ptr ptr) ole32.CoGetApartmentType
diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec
index cffb33f0a3..76bd66558b 100644
--- a/dlls/combase/combase.spec
+++ b/dlls/combase/combase.spec
@@ -85,7 +85,7 @@
 @ stub CoDisableCallCancellation
 @ stub CoDisconnectContext
 @ stdcall CoDisconnectObject(ptr long) ole32.CoDisconnectObject
-@ stub CoEnableCallCancellation
+@ stdcall CoEnableCallCancellation(ptr) ole32.CoEnableCallCancellation
 @ stdcall CoFreeUnusedLibraries() ole32.CoFreeUnusedLibraries
 @ stdcall CoFreeUnusedLibrariesEx(long long) ole32.CoFreeUnusedLibrariesEx
 @ stdcall CoGetActivationState(int128 long ptr) ole32.CoGetActivationState
diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c
index a28ff79924..385a8df922 100644
--- a/dlls/ole32/compobj.c
+++ b/dlls/ole32/compobj.c
@@ -5197,6 +5197,16 @@ HRESULT WINAPI CoGetApartmentType(APTTYPE *type, APTTYPEQUALIFIER *qualifier)
     return info->apt ? S_OK : CO_E_NOTINITIALIZED;
 }
 
+/***********************************************************************
+ *           CoEnableCallCancellation [OLE32.@]
+ */
+HRESULT WINAPI CoEnableCallCancellation(void *reserved)
+{
+    FIXME("(%p): stub\n", reserved);
+
+    return E_NOTIMPL;
+}
+
 /***********************************************************************
  *           CoRegisterSurrogate [OLE32.@]
  */
diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec
index d5a71b31ce..b2db3fdf04 100644
--- a/dlls/ole32/ole32.spec
+++ b/dlls/ole32/ole32.spec
@@ -16,6 +16,7 @@
 @ stdcall CoCreateInstanceEx(ptr ptr long ptr long ptr)
 @ stdcall CoDisconnectObject(ptr long)
 @ stdcall CoDosDateTimeToFileTime(long long ptr) kernel32.DosDateTimeToFileTime
+@ stdcall CoEnableCallCancellation(ptr)
 @ stdcall CoFileTimeNow(ptr)
 @ stdcall CoFileTimeToDosDateTime(ptr ptr ptr) kernel32.FileTimeToDosDateTime
 @ stdcall CoFreeAllLibraries()
diff --git a/include/objbase.h b/include/objbase.h
index 875f0e152d..8af7a80b78 100644
--- a/include/objbase.h
+++ b/include/objbase.h
@@ -350,6 +350,8 @@ HRESULT WINAPI CoUnmarshalHresult(LPSTREAM pstm, HRESULT* phresult);
 HRESULT WINAPI CoUnmarshalInterface(LPSTREAM pStm, REFIID riid, LPVOID* ppv);
 HRESULT WINAPI CoLockObjectExternal(LPUNKNOWN pUnk, BOOL fLock, BOOL fLastUnlockReleases);
 BOOL WINAPI CoIsHandlerConnected(LPUNKNOWN pUnk);
+HRESULT WINAPI CoDisableCallCancellation(void *reserved);
+HRESULT WINAPI CoEnableCallCancellation(void *reserved);
 
 /* security */
 HRESULT WINAPI CoInitializeSecurity(PSECURITY_DESCRIPTOR pSecDesc, LONG cAuthSvc, SOLE_AUTHENTICATION_SERVICE* asAuthSvc, void* pReserved1, DWORD dwAuthnLevel, DWORD dwImpLevel, void* pReserved2, DWORD dwCapabilities, void* pReserved3);
-- 
2.18.0




More information about the wine-devel mailing list