mpr: Add support for REG_EXPAND_SZ for providers path.

Signed-off-by: Pierre Schweitzer <pierre@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Pierre Schweitzer 2016-01-25 08:17:48 +01:00 committed by Alexandre Julliard
parent 198e0d5d78
commit 80eb2fa08e
1 changed files with 8 additions and 2 deletions

View File

@ -133,11 +133,17 @@ static void _tryLoadProvider(PCWSTR provider)
DWORD type, size = sizeof(providerPath); DWORD type, size = sizeof(providerPath);
if (RegQueryValueExW(hKey, szProviderPath, NULL, &type, if (RegQueryValueExW(hKey, szProviderPath, NULL, &type,
(LPBYTE)providerPath, &size) == ERROR_SUCCESS && type == REG_SZ) (LPBYTE)providerPath, &size) == ERROR_SUCCESS && (type == REG_SZ || type == REG_EXPAND_SZ))
{ {
static const WCHAR szProviderName[] = { 'N','a','m','e',0 }; static const WCHAR szProviderName[] = { 'N','a','m','e',0 };
PWSTR name = NULL; PWSTR name = NULL;
if (type == REG_EXPAND_SZ)
{
WCHAR path[MAX_PATH];
if (ExpandEnvironmentStringsW(providerPath, path, MAX_PATH)) lstrcpyW( providerPath, path );
}
size = 0; size = 0;
RegQueryValueExW(hKey, szProviderName, NULL, NULL, NULL, &size); RegQueryValueExW(hKey, szProviderName, NULL, NULL, NULL, &size);
if (size) if (size)