Alexandre Julliard : urlmon: Convert the coclasses registration to the IRegistrar mechanism.
Alexandre Julliard
julliard at winehq.org
Tue Dec 14 10:55:39 CST 2010
Module: wine
Branch: master
Commit: 889ac56f5079ac6785a9998383072b7c557a1b5f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=889ac56f5079ac6785a9998383072b7c557a1b5f
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Dec 13 20:33:36 2010 +0100
urlmon: Convert the coclasses registration to the IRegistrar mechanism.
---
dlls/urlmon/Makefile.in | 3 +-
dlls/urlmon/regsvr.c | 66 --------------------------------
dlls/urlmon/urlmon.inf | 12 +-----
dlls/urlmon/urlmon_urlmon.idl | 84 +++++++++++++++++++++++++++++++++++++++++
4 files changed, 88 insertions(+), 77 deletions(-)
diff --git a/dlls/urlmon/Makefile.in b/dlls/urlmon/Makefile.in
index 65384e8..41368d9 100644
--- a/dlls/urlmon/Makefile.in
+++ b/dlls/urlmon/Makefile.in
@@ -1,7 +1,7 @@
MODULE = urlmon.dll
IMPORTLIB = urlmon
IMPORTS = uuid ole32 oleaut32 shell32 rpcrt4 shlwapi wininet user32 advapi32
-EXTRADEFS = -D_URLMON_ -DENTRY_PREFIX=URLMON_ -DPROXY_DELEGATION -DREGISTER_PROXY_DLL \
+EXTRADEFS = -D_URLMON_ -DENTRY_PREFIX=URLMON_ -DPROXY_DELEGATION -DWINE_REGISTER_DLL \
-DPROXY_CLSID_IS="{0x79EAC9F1,0xBAF9,0x11CE,{0x8C,0x82,0x00,0xAA,0x00,0x4B,0xA9,0x0B}}"
C_SRCS = \
@@ -31,6 +31,7 @@ C_SRCS = \
RC_SRCS = rsrc.rc
IDL_P_SRCS = urlmon_urlmon.idl
+IDL_R_SRCS = urlmon_urlmon.idl
EXTRA_OBJS = dlldata.o
diff --git a/dlls/urlmon/regsvr.c b/dlls/urlmon/regsvr.c
index 6e417ac..ec70465 100644
--- a/dlls/urlmon/regsvr.c
+++ b/dlls/urlmon/regsvr.c
@@ -435,72 +435,6 @@ error_close_progid_key:
* coclass list
*/
static struct regsvr_coclass const coclass_list[] = {
- { &CLSID_StdURLMoniker,
- "URL Moniker",
- NULL,
- "urlmon.dll",
- "Apartment"
- },
- { &CLSID_CdlProtocol,
- "CDL: Asynchronous Pluggable Protocol Handler",
- NULL,
- "urlmon.dll",
- "Apartment"
- },
- { &CLSID_FileProtocol,
- "file:, local: Asynchronous Pluggable Protocol Handler",
- NULL,
- "urlmon.dll",
- "Apartment"
- },
- { &CLSID_FtpProtocol,
- "ftp: Asynchronous Pluggable Protocol Handler",
- NULL,
- "urlmon.dll",
- "Apartment"
- },
- { &CLSID_GopherProtocol,
- "gopher: Asynchronous Pluggable Protocol Handler",
- NULL,
- "urlmon.dll",
- "Apartment"
- },
- { &CLSID_HttpProtocol,
- "http: Asynchronous Pluggable Protocol Handler",
- NULL,
- "urlmon.dll",
- "Apartment"
- },
- { &CLSID_HttpSProtocol,
- "https: Asynchronous Pluggable Protocol Handler",
- NULL,
- "urlmon.dll",
- "Apartment"
- },
- { &CLSID_MkProtocol,
- "mk: Asynchronous Pluggable Protocol Handler",
- NULL,
- "urlmon.dll",
- "Apartment"
- },
- { &CLSID_InternetSecurityManager,
- "Security Manager",
- NULL,
- "urlmon.dll",
- "Both"
- },
- { &CLSID_InternetZoneManager,
- "URL Zone Manager",
- NULL,
- "urlmon.dll",
- "Both"
- },
- { &CLSID_PSFactoryBuffer,
- "URLMoniker ProxyStub Factory",
- NULL,
- "urlmon.dll",
- "Apartment"
- },
{ NULL } /* list terminator */
};
diff --git a/dlls/urlmon/urlmon.inf b/dlls/urlmon/urlmon.inf
index c9debb4..da5778d 100644
--- a/dlls/urlmon/urlmon.inf
+++ b/dlls/urlmon/urlmon.inf
@@ -3,19 +3,11 @@ Signature="$CHICAGO$"
[RegisterDll]
-AddReg=Classes.Reg, Protocols.Reg, ZoneMap.Reg, Zones.Reg, Misc.Reg
+AddReg=Protocols.Reg, ZoneMap.Reg, Zones.Reg, Misc.Reg
[UnregisterDll]
-DelReg=Classes.Reg, Protocols.Reg, ZoneMap.Reg, Zones.Reg, Misc.Reg
-
-
-[Classes.Reg]
-
-;; CLSID_DeCompMimeFilter
-HKCR,"CLSID\%CLSID_DeCompMimeFilter%",,,"AP lzdhtml encoding/decoding Filter"
-HKCR,"CLSID\%CLSID_DeCompMimeFilter%\InProcServer32",,,"%MODULE%"
-HKCR,"CLSID\%CLSID_DeCompMimeFilter%\InProcServer32","ThreadingModel",,"Apartment"
+DelReg=Protocols.Reg, ZoneMap.Reg, Zones.Reg, Misc.Reg
[Protocols.Reg]
diff --git a/dlls/urlmon/urlmon_urlmon.idl b/dlls/urlmon/urlmon_urlmon.idl
index d45ba07..ad23dee 100644
--- a/dlls/urlmon/urlmon_urlmon.idl
+++ b/dlls/urlmon/urlmon_urlmon.idl
@@ -17,3 +17,87 @@
*/
#include "urlmon.idl"
+
+[
+ helpstring("URL Moniker"),
+ threading(apartment),
+ uuid(79eac9e0-baf9-11ce-8c82-00aa004ba90b)
+]
+coclass StdURLMoniker { interface IMoniker; }
+
+[
+ helpstring("http: Asynchronous Pluggable Protocol Handler"),
+ threading(apartment),
+ uuid(79eac9e2-baf9-11ce-8c82-00aa004ba90b)
+]
+coclass HttpProtocol { interface IInternetProtocolEx; interface IInternetPriority; }
+
+[
+ helpstring("ftp: Asynchronous Pluggable Protocol Handler"),
+ threading(apartment),
+ uuid(79eac9e3-baf9-11ce-8c82-00aa004ba90b)
+]
+coclass FtpProtocol { interface IInternetProtocolEx; interface IInternetPriority; }
+
+[
+ helpstring("gopher: Asynchronous Pluggable Protocol Handler"),
+ threading(apartment),
+ uuid(79eac9e4-baf9-11ce-8c82-00aa004ba90b)
+]
+coclass GopherProtocol { interface IInternetProtocolEx; interface IInternetPriority; }
+
+[
+ helpstring("https: Asynchronous Pluggable Protocol Handler"),
+ threading(apartment),
+ uuid(79eac9e5-baf9-11ce-8c82-00aa004ba90b)
+]
+coclass HttpsProtocol { interface IInternetProtocolEx; interface IInternetPriority; }
+
+[
+ helpstring("mk: Asynchronous Pluggable Protocol Handler"),
+ threading(apartment),
+ uuid(79eac9e6-baf9-11ce-8c82-00aa004ba90b)
+]
+coclass MkProtocol { interface IInternetProtocolEx; interface IInternetPriority; }
+
+[
+ helpstring("file:, local: Asynchronous Pluggable Protocol Handler"),
+ threading(apartment),
+ uuid(79eac9e7-baf9-11ce-8c82-00aa004ba90b)
+]
+coclass FileProtocol { interface IInternetProtocolEx; interface IInternetPriority; }
+
+[
+ helpstring("CDL: Asynchronous Pluggable Protocol Handler"),
+ threading(apartment),
+ uuid(3dd53d40-7b8b-11d0-b013-00aa0059ce02)
+]
+coclass CdlProtocol { interface IInternetProtocolEx; interface IInternetPriority; }
+
+[
+ helpstring("Security Manager"),
+ threading(both),
+ uuid(7b8a2d94-0ac9-11d1-896c-00c04fb6bfc4)
+]
+coclass InternetSecurityManager { interface IInternetSecurityManager; }
+
+[
+ helpstring("URL Zone Manager"),
+ threading(both),
+ uuid(7b8a2d95-0ac9-11d1-896c-00c04fb6bfc4)
+]
+coclass InternetZoneManager { interface IInternetZoneManagerEx2; }
+
+[
+ helpstring("URLMoniker ProxyStub Factory"),
+ threading(apartment),
+ uuid(79eac9f1-baf9-11ce-8c82-00aa004ba90b)
+]
+coclass PSFactoryBuffer { interface IPSFactoryBuffer; }
+
+[
+ helpstring("AP lzdhtml encoding/decoding Filter"),
+ threading(apartment),
+ uuid(8f6b0360-b80d-11d0-a9b3-006097942311)
+]
+coclass DeCompMimeFilter { interface IInternetProtocol; interface IInternetProtocolSink; }
More information about the wine-cvs
mailing list