Module: wine Branch: master Commit: ecb5bdf9013ad101ae8b47a29c546437d3a8fc46 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ecb5bdf9013ad101ae8b47a29c...
Author: Hans Leidekker hans@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 */ };