[MPR]
authorPierre Schweitzer <pierre@reactos.org>
Tue, 26 Jan 2016 18:09:47 +0000 (18:09 +0000)
committerPierre Schweitzer <pierre@reactos.org>
Tue, 26 Jan 2016 18:09:47 +0000 (18:09 +0000)
Import Wine commit:
80eb2fa08eb21ba9504438493fa66097ed03faf5, Add support for REG_EXPAND_SZ for providers path.

This fixes VMware network provider (vmhgfs.dll) not being able to be loaded in ReactOS.

CORE-10032

svn path=/trunk/; revision=70645

reactos/dll/win32/mpr/wnet.c

index 1b9fa3f..5e14023 100644 (file)
@@ -123,11 +123,17 @@ static void _tryLoadProvider(PCWSTR provider)
         DWORD type, size = sizeof(providerPath);
 
         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 };
             PWSTR name = NULL;
-           
+
+            if (type == REG_EXPAND_SZ)
+            {
+                WCHAR path[MAX_PATH];
+                if (ExpandEnvironmentStringsW(providerPath, path, MAX_PATH)) lstrcpyW( providerPath, path );
+            }
+
             size = 0;
             RegQueryValueExW(hKey, szProviderName, NULL, NULL, NULL, &size);
             if (size)