Hans Leidekker : wuapi: Add class factory for CLSID_AutomaticUpdates.

Alexandre Julliard julliard at winehq.org
Wed Jan 28 08:02:49 CST 2009


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

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Tue Jan 27 16:14:15 2009 +0100

wuapi: Add class factory for CLSID_AutomaticUpdates.

---

 dlls/wuapi/main.c   |   12 +++++++++---
 dlls/wuapi/regsvr.c |    6 ++++++
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/dlls/wuapi/main.c b/dlls/wuapi/main.c
index 18a86bc..d8d6fcb 100644
--- a/dlls/wuapi/main.c
+++ b/dlls/wuapi/main.c
@@ -111,7 +111,8 @@ static const struct IClassFactoryVtbl wucf_vtbl =
     wucf_LockServer
 };
 
-static wucf updatecf = { &wucf_vtbl, UpdateSession_create };
+static wucf sessioncf = { &wucf_vtbl, UpdateSession_create };
+static wucf updatescf = { &wucf_vtbl, AutomaticUpdates_create };
 
 BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID lpv )
 {
@@ -135,8 +136,13 @@ HRESULT WINAPI DllGetClassObject( REFCLSID rclsid, REFIID iid, LPVOID *ppv )
     TRACE("%s %s %p\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv);
 
     if (IsEqualGUID( rclsid, &CLSID_UpdateSession ))
-       cf = (IClassFactory *)&updatecf.vtbl;
-
+    {
+       cf = (IClassFactory *)&sessioncf.vtbl;
+    }
+    else if (IsEqualGUID( rclsid, &CLSID_AutomaticUpdates ))
+    {
+       cf = (IClassFactory *)&updatescf.vtbl;
+    }
     if (!cf) return CLASS_E_CLASSNOTAVAILABLE;
     return IClassFactory_QueryInterface( cf, iid, ppv );
 }
diff --git a/dlls/wuapi/regsvr.c b/dlls/wuapi/regsvr.c
index 875902c..10d3974 100644
--- a/dlls/wuapi/regsvr.c
+++ b/dlls/wuapi/regsvr.c
@@ -383,6 +383,12 @@ static struct regsvr_coclass const coclass_list[] = {
         "wuapi.dll",
         "Both"
     },
+    {   &CLSID_AutomaticUpdates,
+        "CLSID_AutomaticUpdates",
+        NULL,
+        "wuapi.dll",
+        "Both"
+    },
     { NULL }			/* list terminator */
 };
 




More information about the wine-cvs mailing list