wuapi: Add class factory for CLSID_AutomaticUpdates.

Hans Leidekker hans at codeweavers.com
Tue Jan 27 09:14:15 CST 2009


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-patches mailing list