Fix the HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage\Export
value. The GUID needs to be prepended by "Tcpip_"
Modified: trunk/reactos/lib/netcfgx/netcfgx.c
_____
Modified: trunk/reactos/lib/netcfgx/netcfgx.c
--- trunk/reactos/lib/netcfgx/netcfgx.c 2005-10-14 21:35:03 UTC (rev
18459)
+++ trunk/reactos/lib/netcfgx/netcfgx.c 2005-10-14 22:04:02 UTC (rev
18460)
@@ -104,6 +104,7 @@
LPWSTR UuidRpcString = NULL;
LPWSTR UuidString = NULL;
LPWSTR DeviceName = NULL;
+ LPWSTR ExportName = NULL;
LONG rc;
HKEY hKey = INVALID_HANDLE_VALUE;
HKEY hLinkageKey = INVALID_HANDLE_VALUE;
@@ -151,6 +152,17 @@
}
wcscpy(DeviceName, L"\\Device\\");
wcscat(DeviceName, UuidString);
+
+ /* Create export name */
+ ExportName = HeapAlloc(GetProcessHeap(), 0,
(wcslen(L"\\Device\\Tcpip_") + wcslen(UuidString)) * sizeof(WCHAR) +
sizeof(UNICODE_NULL));
+ if (!ExportName)
+ {
+ DPRINT("HeapAlloc() failed\n");
+ rc = ERROR_NOT_ENOUGH_MEMORY;
+ goto cleanup;
+ }
+ wcscpy(ExportName, L"\\Device\\Tcpip_");
+ wcscat(ExportName, UuidString);
/* Write Tcpip parameters in new service Key */
rc = RegCreateKeyExW(HKEY_LOCAL_MACHINE,
L"SYSTEM\\CurrentControlSet\\Services", 0, NULL,
REG_OPTION_NON_VOLATILE, 0, NULL, &hKey, NULL);
@@ -269,22 +281,21 @@
rc = AppendStringToMultiSZ(hKey, L"Bind", DeviceName);
if (rc != ERROR_SUCCESS)
goto cleanup;
- rc = AppendStringToMultiSZ(hKey, L"Export", DeviceName);
+ rc = AppendStringToMultiSZ(hKey, L"Export", ExportName);
if (rc != ERROR_SUCCESS)
goto cleanup;
rc = AppendStringToMultiSZ(hKey, L"Route", UuidString);
if (rc != ERROR_SUCCESS)
goto cleanup;
- rc = ERROR_DI_DO_DEFAULT;
+ rc = ERROR_SUCCESS;
cleanup:
if (UuidRpcString != NULL)
RpcStringFreeW(&UuidRpcString);
- if (UuidString != NULL)
- HeapFree(GetProcessHeap(), 0, UuidString);
- if (DeviceName != NULL)
- HeapFree(GetProcessHeap(), 0, DeviceName);
+ HeapFree(GetProcessHeap(), 0, UuidString);
+ HeapFree(GetProcessHeap(), 0, DeviceName);
+ HeapFree(GetProcessHeap(), 0, ExportName);
if (hKey != INVALID_HANDLE_VALUE)
RegCloseKey(hKey);
if (hLinkageKey != INVALID_HANDLE_VALUE)
Show replies by date