1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2025-07-07 00:04:57 +03:00

v4.19-9599-beta

This commit is contained in:
dnobori
2015-10-19 21:30:51 +09:00
parent 4e862a7e40
commit d3a1b26413
1085 changed files with 2275 additions and 1979 deletions

View File

@ -12609,6 +12609,14 @@ NT_API *MsLoadNtApiFunctions()
(BOOL (__stdcall *)(HANDLE,DWORD,LPWSTR,PDWORD))
GetProcAddress(nt->hKernel32, "QueryFullProcessImageNameW");
nt->RegLoadKeyW =
(LSTATUS (__stdcall *)(HKEY,LPCWSTR,LPCWSTR))
GetProcAddress(nt->hAdvapi32, "RegLoadKeyW");
nt->RegUnLoadKeyW =
(LSTATUS (__stdcall *)(HKEY,LPCWSTR))
GetProcAddress(nt->hAdvapi32, "RegUnLoadKeyW");
if (info.dwMajorVersion >= 5)
{
nt->UpdateDriverForPlugAndPlayDevicesW =
@ -12957,6 +12965,59 @@ DWORD MsRegAccessMaskFor64BitEx(bool force32bit, bool force64bit)
return 0;
}
// Load the hive
bool MsRegLoadHive(UINT root, wchar_t *keyname, wchar_t *filename)
{
LONG ret;
if (keyname == NULL || filename == NULL)
{
WHERE;
return false;
}
if (ms->nt == NULL || ms->nt->RegLoadKeyW == NULL || ms->nt->RegUnLoadKeyW == NULL)
{
WHERE;
return false;
}
ret = ms->nt->RegLoadKeyW(MsGetRootKeyFromInt(root), keyname, filename);
if (ret != ERROR_SUCCESS)
{
Debug("RegLoadKeyW: %S %S %u\n", keyname, filename, GetLastError());
return false;
}
WHERE;
return true;
}
// Unload the hive
bool MsRegUnloadHive(UINT root, wchar_t *keyname)
{
LONG ret;
if (keyname == NULL)
{
return false;
}
if (ms->nt == NULL || ms->nt->RegLoadKeyW == NULL || ms->nt->RegUnLoadKeyW == NULL)
{
return false;
}
ret = ms->nt->RegUnLoadKeyW(MsGetRootKeyFromInt(root), keyname);
if (ret != ERROR_SUCCESS)
{
Debug("RegUnLoadKeyW: %u\n", GetLastError());
return false;
}
return true;
}
// Delete the value
bool MsRegDeleteValue(UINT root, char *keyname, char *valuename)
{