forked from Mirrors/wine-wine
advpack: Factor out OCX registering into do_ocx_reg.
parent
1bc69125af
commit
3f784a7339
|
@ -392,6 +392,22 @@ HRESULT WINAPI RebootCheckOnInstallW(HWND hWnd, LPCWSTR pszINF,
|
||||||
return E_FAIL;
|
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.@)
|
* RegisterOCX (ADVPACK.@)
|
||||||
*
|
*
|
||||||
|
@ -419,7 +435,6 @@ HRESULT WINAPI RegisterOCX(HWND hWnd, HINSTANCE hInst, LPCSTR cmdline, INT show)
|
||||||
LPWSTR ocx_filename, str_flags, param;
|
LPWSTR ocx_filename, str_flags, param;
|
||||||
LPWSTR cmdline_copy, cmdline_ptr;
|
LPWSTR cmdline_copy, cmdline_ptr;
|
||||||
UNICODE_STRING cmdlineW;
|
UNICODE_STRING cmdlineW;
|
||||||
DLLREGISTER pfnRegister;
|
|
||||||
HRESULT hr = E_FAIL;
|
HRESULT hr = E_FAIL;
|
||||||
HMODULE hm = NULL;
|
HMODULE hm = NULL;
|
||||||
DWORD size;
|
DWORD size;
|
||||||
|
@ -444,11 +459,7 @@ HRESULT WINAPI RegisterOCX(HWND hWnd, HINSTANCE hInst, LPCSTR cmdline, INT show)
|
||||||
if (!hm)
|
if (!hm)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
pfnRegister = (DLLREGISTER)GetProcAddress(hm, "DllRegisterServer");
|
hr = do_ocx_reg(hm, TRUE);
|
||||||
if (!pfnRegister)
|
|
||||||
goto done;
|
|
||||||
|
|
||||||
hr = pfnRegister();
|
|
||||||
|
|
||||||
done:
|
done:
|
||||||
FreeLibrary(hm);
|
FreeLibrary(hm);
|
||||||
|
|
Loading…
Reference in New Issue