54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
|
#include "precomp.hxx"
|
||
|
|
||
|
HRESULT
|
||
|
SR_DLL::InstallIntoRegistry( HKEY * RegistryKey)
|
||
|
{
|
||
|
HRESULT hr;
|
||
|
HINSTANCE hDll;
|
||
|
HRESULT (STDAPICALLTYPE *pfnDllRegisterServer)();
|
||
|
HKEY hKey;
|
||
|
|
||
|
hDll = LoadLibraryEx(GetPackageName(), NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
|
||
|
|
||
|
if(hDll != 0)
|
||
|
{
|
||
|
pfnDllRegisterServer = (HRESULT (STDAPICALLTYPE *)())
|
||
|
GetProcAddress(hDll, "DllRegisterServer");
|
||
|
|
||
|
if(pfnDllRegisterServer == 0)
|
||
|
hr = HRESULT_FROM_WIN32(GetLastError());
|
||
|
else
|
||
|
{
|
||
|
hr = (*pfnDllRegisterServer)();
|
||
|
}
|
||
|
FreeLibrary(hDll);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
hr = HRESULT_FROM_WIN32(GetLastError());
|
||
|
}
|
||
|
|
||
|
|
||
|
return hr;
|
||
|
}
|
||
|
|
||
|
HRESULT
|
||
|
SR_DLL::InitRegistryKeyToInstallInto(
|
||
|
HKEY * phKey )
|
||
|
{
|
||
|
return CreateMappedRegistryKey( phKey );
|
||
|
}
|
||
|
|
||
|
HRESULT
|
||
|
SR_DLL::RestoreRegistryKey( HKEY *phKey )
|
||
|
{
|
||
|
return RestoreMappedRegistryKey( phKey);
|
||
|
}
|
||
|
|
||
|
HRESULT
|
||
|
SR_DLL::DeleteTempKey(HKEY hKey, FILETIME ftLow, FILETIME ftHigh)
|
||
|
{
|
||
|
CleanMappedRegistryKey(hKey, ftLow, ftHigh);
|
||
|
return S_OK;
|
||
|
}
|