Module: wine Branch: master Commit: 30bbed5d1ae8f2f785e67e223f9de48f7c950cc1 URL: https://source.winehq.org/git/wine.git/?a=commit;h=30bbed5d1ae8f2f785e67e223...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Sep 18 15:25:04 2019 +0200
scrobj: Add partial DllInstall implementation.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/scrobj/scrobj.c | 19 +++++++++++++++++++ dlls/scrobj/scrobj.spec | 1 + 2 files changed, 20 insertions(+)
diff --git a/dlls/scrobj/scrobj.c b/dlls/scrobj/scrobj.c index 69d0e75c9e..c27def2b0f 100644 --- a/dlls/scrobj/scrobj.c +++ b/dlls/scrobj/scrobj.c @@ -444,6 +444,25 @@ HRESULT WINAPI DllUnregisterServer(void) return __wine_unregister_resources(scrobj_instance); }
+/*********************************************************************** + * DllInstall (scrobj.@) + */ +HRESULT WINAPI DllInstall(BOOL install, const WCHAR *arg) +{ + HRESULT hres; + + if (install) + { + hres = DllRegisterServer(); + if (!arg || FAILED(hres)) return hres; + } + else if (!arg) + return DllUnregisterServer(); + + FIXME("argument %s not supported\n", debugstr_w(arg)); + return E_NOTIMPL; +} + static HRESULT WINAPI scriptlet_typelib_CreateInstance(IClassFactory *factory, IUnknown *outer, REFIID riid, void **obj) { struct scriptlet_typelib *This; diff --git a/dlls/scrobj/scrobj.spec b/dlls/scrobj/scrobj.spec index b16365d0c9..8ebc2efd5b 100644 --- a/dlls/scrobj/scrobj.spec +++ b/dlls/scrobj/scrobj.spec @@ -1,4 +1,5 @@ @ stdcall -private DllCanUnloadNow() @ stdcall -private DllGetClassObject(ptr ptr ptr) +@ stdcall -private DllInstall(long wstr) @ stdcall -private DllRegisterServer() @ stdcall -private DllUnregisterServer()