Nikolay Sivov : atl: Implement AtlComModuleRevokeClassObjects().
Alexandre Julliard
julliard at winehq.org
Mon Dec 9 13:41:30 CST 2013
Module: wine
Branch: master
Commit: 288f3aca62d68e3b1760d43e5f14ed0df56ca94e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=288f3aca62d68e3b1760d43e5f14ed0df56ca94e
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Mon Dec 9 15:33:39 2013 +0400
atl: Implement AtlComModuleRevokeClassObjects().
---
dlls/atl100/atl.c | 21 +++++++++++++++++++++
dlls/atl100/atl100.spec | 2 +-
dlls/atl110/atl110.spec | 2 +-
dlls/atl80/atl80.spec | 2 +-
dlls/atl90/atl90.spec | 2 +-
5 files changed, 25 insertions(+), 4 deletions(-)
diff --git a/dlls/atl100/atl.c b/dlls/atl100/atl.c
index 726a855..9156afb 100644
--- a/dlls/atl100/atl.c
+++ b/dlls/atl100/atl.c
@@ -502,7 +502,28 @@ HRESULT WINAPI AtlComModuleRegisterClassObjects(_ATL_COM_MODULE *module, DWORD c
}
return S_OK;
+}
+/***********************************************************************
+ * AtlComModuleRevokeClassObjects [atl100.20]
+ */
+HRESULT WINAPI AtlComModuleRevokeClassObjects(_ATL_COM_MODULE *module)
+{
+ _ATL_OBJMAP_ENTRY **iter;
+ HRESULT hres;
+
+ TRACE("(%p)\n", module);
+
+ if(!module)
+ return E_INVALIDARG;
+
+ for(iter = module->m_ppAutoObjMapFirst; iter < module->m_ppAutoObjMapLast; iter++) {
+ hres = CoRevokeClassObject((*iter)->dwRegister);
+ if(FAILED(hres))
+ return hres;
+ }
+
+ return S_OK;
}
/***********************************************************************
diff --git a/dlls/atl100/atl100.spec b/dlls/atl100/atl100.spec
index 1295f8c..0d41c1e 100644
--- a/dlls/atl100/atl100.spec
+++ b/dlls/atl100/atl100.spec
@@ -5,7 +5,7 @@
14 stdcall AtlUnmarshalPtr(ptr ptr ptr)
15 stdcall AtlComModuleGetClassObject(ptr ptr ptr ptr)
17 stdcall AtlComModuleRegisterClassObjects(ptr long long)
-20 stub AtlComModuleRevokeClassObjects
+20 stdcall AtlComModuleRevokeClassObjects(ptr)
22 stdcall AtlComModuleUnregisterServer(ptr long ptr)
23 stdcall AtlUpdateRegistryFromResourceD(long wstr long ptr ptr)
24 stdcall AtlWaitWithMessageLoop(long)
diff --git a/dlls/atl110/atl110.spec b/dlls/atl110/atl110.spec
index aed22bd..045969e 100644
--- a/dlls/atl110/atl110.spec
+++ b/dlls/atl110/atl110.spec
@@ -5,7 +5,7 @@
14 stdcall AtlUnmarshalPtr(ptr ptr ptr) atl100.AtlUnmarshalPtr
15 stdcall AtlComModuleGetClassObject(ptr ptr ptr ptr) atl100.AtlComModuleGetClassObject
17 stdcall AtlComModuleRegisterClassObjects(ptr long long) atl100.AtlComModuleRegisterClassObjects
-20 stub AtlComModuleRevokeClassObjects
+20 stdcall AtlComModuleRevokeClassObjects(ptr) atl100.AtlComModuleRevokeClassObjects
22 stdcall AtlComModuleUnregisterServer(ptr long ptr) atl100.AtlComModuleUnregisterServer
23 stdcall AtlUpdateRegistryFromResourceD(long wstr long ptr ptr) atl100.AtlUpdateRegistryFromResourceD
24 stdcall AtlWaitWithMessageLoop(long) atl100.AtlWaitWithMessageLoop
diff --git a/dlls/atl80/atl80.spec b/dlls/atl80/atl80.spec
index 5a77629..3d53d06 100644
--- a/dlls/atl80/atl80.spec
+++ b/dlls/atl80/atl80.spec
@@ -7,7 +7,7 @@
17 stdcall AtlComModuleRegisterClassObjects(ptr long long) atl100.AtlComModuleRegisterClassObjects
18 stdcall AtlComModuleRegisterServer(ptr long ptr)
19 stdcall AtlRegisterTypeLib(ptr wstr)
-20 stub AtlComModuleRevokeClassObjects
+20 stdcall AtlComModuleRevokeClassObjects(ptr) atl100.AtlComModuleRevokeClassObjects
22 stdcall AtlComModuleUnregisterServer(ptr long ptr) atl100.AtlComModuleUnregisterServer
23 stdcall AtlUpdateRegistryFromResourceD(long wstr long ptr ptr) atl100.AtlUpdateRegistryFromResourceD
24 stdcall AtlWaitWithMessageLoop(long) atl100.AtlWaitWithMessageLoop
diff --git a/dlls/atl90/atl90.spec b/dlls/atl90/atl90.spec
index aed22bd..045969e 100644
--- a/dlls/atl90/atl90.spec
+++ b/dlls/atl90/atl90.spec
@@ -5,7 +5,7 @@
14 stdcall AtlUnmarshalPtr(ptr ptr ptr) atl100.AtlUnmarshalPtr
15 stdcall AtlComModuleGetClassObject(ptr ptr ptr ptr) atl100.AtlComModuleGetClassObject
17 stdcall AtlComModuleRegisterClassObjects(ptr long long) atl100.AtlComModuleRegisterClassObjects
-20 stub AtlComModuleRevokeClassObjects
+20 stdcall AtlComModuleRevokeClassObjects(ptr) atl100.AtlComModuleRevokeClassObjects
22 stdcall AtlComModuleUnregisterServer(ptr long ptr) atl100.AtlComModuleUnregisterServer
23 stdcall AtlUpdateRegistryFromResourceD(long wstr long ptr ptr) atl100.AtlUpdateRegistryFromResourceD
24 stdcall AtlWaitWithMessageLoop(long) atl100.AtlWaitWithMessageLoop
More information about the wine-cvs
mailing list