mirror of
https://github.com/narzoul/DDrawCompat
synced 2024-12-30 08:55:36 +01:00
parent
c47902457e
commit
0f63ebef9f
@ -315,6 +315,37 @@ namespace
|
||||
return LOG_RESULT(result);
|
||||
}
|
||||
|
||||
LSTATUS WINAPI regEnumValueW(HKEY hKey, DWORD dwIndex, LPWSTR lpValueName, LPDWORD lpcchValueName,
|
||||
LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData)
|
||||
{
|
||||
LOG_FUNC("RegEnumValueW", hKey, dwIndex, lpValueName, lpcchValueName, lpReserved, lpType, lpData, lpcbData);
|
||||
if (lpValueName && lpcchValueName && !lpReserved && !lpType && !lpData && !lpcbData)
|
||||
{
|
||||
auto keyName(getKeyName(hKey));
|
||||
if (L"HKEY_LOCAL_MACHINE\\Software\\Microsoft\\DirectShow\\DoNotUse" == keyName)
|
||||
{
|
||||
if (0 == dwIndex)
|
||||
{
|
||||
const std::wstring CLSID_VMR9(L"{51B4ABF3-748F-4E3B-A276-C828330E926A}");
|
||||
if (*lpcchValueName < CLSID_VMR9.length() + 1)
|
||||
{
|
||||
return LOG_RESULT(ERROR_MORE_DATA);
|
||||
}
|
||||
|
||||
memcpy(lpValueName, CLSID_VMR9.c_str(), 2 * (CLSID_VMR9.length() + 1));
|
||||
*lpcchValueName = CLSID_VMR9.length();
|
||||
return LOG_RESULT(ERROR_SUCCESS);
|
||||
}
|
||||
else
|
||||
{
|
||||
dwIndex--;
|
||||
}
|
||||
}
|
||||
}
|
||||
return LOG_RESULT(CALL_ORIG_FUNC(RegEnumValueW)(hKey, dwIndex, lpValueName, lpcchValueName,
|
||||
lpReserved, lpType, lpData, lpcbData));
|
||||
}
|
||||
|
||||
template <typename Char, typename OrigFunc>
|
||||
LONG regGetValue(HKEY hkey, const Char* lpSubKey, const Char* lpValue,
|
||||
DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData, OrigFunc origFunc, const char* funcName)
|
||||
@ -442,6 +473,7 @@ namespace Win32
|
||||
HOOK_REGISTRY_OPEN_FUNCTION(RegOpenKeyTransactedW);
|
||||
|
||||
HOOK_REGISTRY_FUNCTION(RegCloseKey, regCloseKey);
|
||||
HOOK_REGISTRY_FUNCTION(RegEnumValueW, regEnumValueW);
|
||||
HOOK_REGISTRY_FUNCTION(RegGetValueA, regGetValueA);
|
||||
HOOK_REGISTRY_FUNCTION(RegGetValueW, regGetValueW);
|
||||
HOOK_REGISTRY_FUNCTION(RegQueryValueExA, regQueryValueExA);
|
||||
|
Loading…
x
Reference in New Issue
Block a user