Alexandre Julliard : ole32: Don' t register interfaces that belong to actxprxy.

Alexandre Julliard julliard at winehq.org
Fri Sep 11 10:53:02 CDT 2009


Module: wine
Branch: master
Commit: f5ed7868ee769e7f0aba0125889f2419beb87158
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f5ed7868ee769e7f0aba0125889f2419beb87158

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Sep 11 12:44:15 2009 +0200

ole32: Don't register interfaces that belong to actxprxy.

---

 dlls/ole32/regsvr.c |   64 +++++++++++++++++++++-----------------------------
 1 files changed, 27 insertions(+), 37 deletions(-)

diff --git a/dlls/ole32/regsvr.c b/dlls/ole32/regsvr.c
index 17e78ef..b124a16 100644
--- a/dlls/ole32/regsvr.c
+++ b/dlls/ole32/regsvr.c
@@ -408,9 +408,6 @@ static GUID const CLSID_StdOleLink = {
 static GUID const CLSID_PackagerMoniker = {
     0x00000308, 0x0000, 0x0000, {0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46} };
 
-static GUID const CLSID_PSFactoryBuffer_actxprxy = {
-    0xB8DA6310, 0xE19B, 0x11D0, {0x93,0x3C,0x00,0xA0,0xC9,0x0D,0xCA,0xA9} };
-
 extern GUID const CLSID_Picture_Metafile;
 extern GUID const CLSID_Picture_Dib;
 
@@ -510,42 +507,35 @@ static struct regsvr_coclass const coclass_list[] = {
  *		interface list
  */
 
-#define INTERFACE_ENTRY(interface, base, clsid32) { &IID_##interface, #interface, base, sizeof(interface##Vtbl)/sizeof(void*), NULL, clsid32 }
-#define BAS_INTERFACE_ENTRY(interface, base) INTERFACE_ENTRY(interface, &IID_##base, NULL)
-#define ACTX_INTERFACE_ENTRY(interface) INTERFACE_ENTRY(interface, NULL, &CLSID_PSFactoryBuffer_actxprxy)
-#define LCL_INTERFACE_ENTRY(interface) INTERFACE_ENTRY(interface, NULL, NULL)
+#define INTERFACE_ENTRY(interface, base) { &IID_##interface, #interface, base, sizeof(interface##Vtbl)/sizeof(void*), NULL, NULL }
 
 static const struct regsvr_interface interface_list[] = {
-    LCL_INTERFACE_ENTRY(IUnknown),
-    LCL_INTERFACE_ENTRY(IMalloc),
-    LCL_INTERFACE_ENTRY(IMarshal),
-    BAS_INTERFACE_ENTRY(IMoniker, IPersistStream),
-    LCL_INTERFACE_ENTRY(IMessageFilter),
-    LCL_INTERFACE_ENTRY(IStdMarshalInfo),
-    LCL_INTERFACE_ENTRY(IExternalConnection),
-    LCL_INTERFACE_ENTRY(IMallocSpy),
-    LCL_INTERFACE_ENTRY(IMultiQI),
-    BAS_INTERFACE_ENTRY(IPersistStream, IPersist),
-    BAS_INTERFACE_ENTRY(IPersistStorage, IPersist),
-    BAS_INTERFACE_ENTRY(IPersistFile, IPersist),
-    LCL_INTERFACE_ENTRY(IDataAdviseHolder),
-    LCL_INTERFACE_ENTRY(IOleAdviseHolder),
-    BAS_INTERFACE_ENTRY(IOleInPlaceObject, IOleWindow),
-    BAS_INTERFACE_ENTRY(IOleInPlaceUIWindow, IOleWindow),
-    BAS_INTERFACE_ENTRY(IOleInPlaceActiveObject, IOleWindow),
-    BAS_INTERFACE_ENTRY(IOleInPlaceSite, IOleWindow),
-    BAS_INTERFACE_ENTRY(IOleContainer, IParseDisplayName),
-    BAS_INTERFACE_ENTRY(IOleItemContainer, IOleContainer),
-    LCL_INTERFACE_ENTRY(IDropSource),
-    BAS_INTERFACE_ENTRY(IAdviseSink2, IAdviseSink),
-    BAS_INTERFACE_ENTRY(IViewObject2, IViewObject),
-    BAS_INTERFACE_ENTRY(IOleCache2, IOleCache),
-    LCL_INTERFACE_ENTRY(IClientSecurity),
-    LCL_INTERFACE_ENTRY(IServerSecurity),
-    ACTX_INTERFACE_ENTRY(IEnumGUID),
-    ACTX_INTERFACE_ENTRY(IEnumCATEGORYINFO),
-    ACTX_INTERFACE_ENTRY(ICatRegister),
-    ACTX_INTERFACE_ENTRY(ICatInformation),
+    INTERFACE_ENTRY( IUnknown, NULL ),
+    INTERFACE_ENTRY( IMalloc, NULL ),
+    INTERFACE_ENTRY( IMarshal, NULL ),
+    INTERFACE_ENTRY( IMoniker, &IID_IPersistStream ),
+    INTERFACE_ENTRY( IMessageFilter, NULL ),
+    INTERFACE_ENTRY( IStdMarshalInfo, NULL ),
+    INTERFACE_ENTRY( IExternalConnection, NULL ),
+    INTERFACE_ENTRY( IMallocSpy, NULL ),
+    INTERFACE_ENTRY( IMultiQI, NULL ),
+    INTERFACE_ENTRY( IPersistStream, &IID_IPersist ),
+    INTERFACE_ENTRY( IPersistStorage, &IID_IPersist ),
+    INTERFACE_ENTRY( IPersistFile, &IID_IPersist ),
+    INTERFACE_ENTRY( IDataAdviseHolder, NULL ),
+    INTERFACE_ENTRY( IOleAdviseHolder, NULL ),
+    INTERFACE_ENTRY( IOleInPlaceObject, &IID_IOleWindow ),
+    INTERFACE_ENTRY( IOleInPlaceUIWindow, &IID_IOleWindow ),
+    INTERFACE_ENTRY( IOleInPlaceActiveObject, &IID_IOleWindow ),
+    INTERFACE_ENTRY( IOleInPlaceSite, &IID_IOleWindow ),
+    INTERFACE_ENTRY( IOleContainer, &IID_IParseDisplayName ),
+    INTERFACE_ENTRY( IOleItemContainer, &IID_IOleContainer ),
+    INTERFACE_ENTRY( IDropSource, NULL ),
+    INTERFACE_ENTRY( IAdviseSink2, &IID_IAdviseSink ),
+    INTERFACE_ENTRY( IViewObject2, &IID_IViewObject ),
+    INTERFACE_ENTRY( IOleCache2, &IID_IOleCache ),
+    INTERFACE_ENTRY( IClientSecurity, NULL ),
+    INTERFACE_ENTRY( IServerSecurity, NULL ),
     { NULL }			/* list terminator */
 };
 




More information about the wine-cvs mailing list