James Hawkins : advpack: Factor out OCX registering into do_ocx_reg.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Apr 17 05:55:26 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 3f784a7339ec18f0d4718c3f1430a067cfea5b92
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=3f784a7339ec18f0d4718c3f1430a067cfea5b92
Author: James Hawkins <truiken at gmail.com>
Date: Mon Apr 17 01:51:37 2006 -0500
advpack: Factor out OCX registering into do_ocx_reg.
---
dlls/advpack/advpack.c | 23 +++++++++++++++++------
1 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/dlls/advpack/advpack.c b/dlls/advpack/advpack.c
index 4ee3b0c..f68ab2b 100644
--- a/dlls/advpack/advpack.c
+++ b/dlls/advpack/advpack.c
@@ -392,6 +392,22 @@ HRESULT WINAPI RebootCheckOnInstallW(HWN
return E_FAIL;
}
+/* registers the OCX if do_reg is TRUE, unregisters it otherwise */
+HRESULT do_ocx_reg(HMODULE hocx, BOOL do_reg)
+{
+ DLLREGISTER reg_func;
+
+ if (do_reg)
+ reg_func = (DLLREGISTER)GetProcAddress(hocx, "DllRegisterServer");
+ else
+ reg_func = (DLLREGISTER)GetProcAddress(hocx, "DllUnregisterServer");
+
+ if (!reg_func)
+ return E_FAIL;
+
+ return reg_func();
+}
+
/***********************************************************************
* RegisterOCX (ADVPACK.@)
*
@@ -419,7 +435,6 @@ HRESULT WINAPI RegisterOCX(HWND hWnd, HI
LPWSTR ocx_filename, str_flags, param;
LPWSTR cmdline_copy, cmdline_ptr;
UNICODE_STRING cmdlineW;
- DLLREGISTER pfnRegister;
HRESULT hr = E_FAIL;
HMODULE hm = NULL;
DWORD size;
@@ -444,11 +459,7 @@ HRESULT WINAPI RegisterOCX(HWND hWnd, HI
if (!hm)
goto done;
- pfnRegister = (DLLREGISTER)GetProcAddress(hm, "DllRegisterServer");
- if (!pfnRegister)
- goto done;
-
- hr = pfnRegister();
+ hr = do_ocx_reg(hm, TRUE);
done:
FreeLibrary(hm);
More information about the wine-cvs
mailing list