Gijs Vermeulen : wuapi: Add UpdateInstaller coclass.
Module: wine Branch: master Commit: 45cb03f4878dc80df6624d246bfb1ad1f925af51 URL: https://source.winehq.org/git/wine.git/?a=commit;h=45cb03f4878dc80df6624d246... Author: Gijs Vermeulen <gijsvrm(a)gmail.com> Date: Sat May 23 16:41:31 2020 +0200 wuapi: Add UpdateInstaller coclass. Signed-off-by: Gijs Vermeulen <gijsvrm(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/wuapi/main.c | 5 +++++ include/wuapi.idl | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/dlls/wuapi/main.c b/dlls/wuapi/main.c index c2ed95ed42..63392b3660 100644 --- a/dlls/wuapi/main.c +++ b/dlls/wuapi/main.c @@ -111,6 +111,7 @@ static const struct IClassFactoryVtbl wucf_vtbl = static wucf sessioncf = { { &wucf_vtbl }, UpdateSession_create }; static wucf updatescf = { { &wucf_vtbl }, AutomaticUpdates_create }; static wucf sysinfocf = { { &wucf_vtbl }, SystemInformation_create }; +static wucf installercf = { { &wucf_vtbl }, UpdateInstaller_create }; static HINSTANCE instance; @@ -146,6 +147,10 @@ HRESULT WINAPI DllGetClassObject( REFCLSID rclsid, REFIID iid, LPVOID *ppv ) { cf = &sysinfocf.IClassFactory_iface; } + else if (IsEqualGUID( rclsid, &CLSID_UpdateInstaller )) + { + cf = &installercf.IClassFactory_iface; + } if (!cf) return CLASS_E_CLASSNOTAVAILABLE; return IClassFactory_QueryInterface( cf, iid, ppv ); } diff --git a/include/wuapi.idl b/include/wuapi.idl index d1a3593084..a0a8e4359a 100644 --- a/include/wuapi.idl +++ b/include/wuapi.idl @@ -1329,6 +1329,15 @@ interface ISystemInformation : IDispatch ] coclass AutomaticUpdates { interface IAutomaticUpdates; } +[ + helpstring("UpdateInstaller Class"), + threading(both), + progid("Microsoft.Update.Installer.1"), + vi_progid("Microsoft.Update.Installer"), + uuid(d2e0fe7f-d23e-48e1-93c0-6fa8cc346474) +] +coclass UpdateInstaller { interface IUpdateInstaller; } + [ helpstring("UpdateSession Class"), threading(both),
participants (1)
-
Alexandre Julliard