[NETCFGX] Add the most simple property sheet provider for network adapters

- Switch to WINE debug code.
- Build the UNICODE version of the DLL by default.
- Add the most simple property sheet provider.
This commit is contained in:
Eric Kohl 2018-09-26 23:48:01 +02:00
parent 986ce63c4c
commit 3c1e5f7cb9
31 changed files with 315 additions and 53 deletions

View file

@ -10,6 +10,7 @@ list(APPEND SOURCE
netcfg_iface.c netcfg_iface.c
inetcfgcomp_iface.c inetcfgcomp_iface.c
tcpipconf_notify.c tcpipconf_notify.c
propertypage.c
precomp.h precomp.h
${CMAKE_CURRENT_BINARY_DIR}/netcfgx_stubs.c) ${CMAKE_CURRENT_BINARY_DIR}/netcfgx_stubs.c)
@ -18,7 +19,7 @@ add_library(netcfgx SHARED
netcfgx.rc netcfgx.rc
${CMAKE_CURRENT_BINARY_DIR}/netcfgx.def) ${CMAKE_CURRENT_BINARY_DIR}/netcfgx.def)
set_module_type(netcfgx win32dll) set_module_type(netcfgx win32dll UNICODE)
target_link_libraries(netcfgx uuid wine) target_link_libraries(netcfgx uuid wine)
add_importlibs(netcfgx rpcrt4 setupapi advapi32 iphlpapi dhcpcsvc ole32 user32 comctl32 ws2_32 msvcrt kernel32 ntdll) add_importlibs(netcfgx rpcrt4 setupapi advapi32 iphlpapi dhcpcsvc ole32 user32 comctl32 ws2_32 msvcrt kernel32 ntdll)
add_pch(netcfgx precomp.h SOURCE) add_pch(netcfgx precomp.h SOURCE)

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Отказ", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Отказ", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Мрежoвo свързване" IDS_NET_CONNECT "Мрежoвo свързване"

View file

@ -201,6 +201,13 @@ BEGIN
PUSHBUTTON "Storno", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Storno", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Síťové připojení" IDS_NET_CONNECT "Síťové připojení"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Network Connection" IDS_NET_CONNECT "Network Connection"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Abbrechen", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Abbrechen", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Erweitert"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "LAN-Verbindung" IDS_NET_CONNECT "LAN-Verbindung"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Network Connection" IDS_NET_CONNECT "Network Connection"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Network Connection" IDS_NET_CONNECT "Network Connection"

View file

@ -197,6 +197,13 @@ BEGIN
PUSHBUTTON "Cancelar", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Cancelar", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Conexión de red" IDS_NET_CONNECT "Conexión de red"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Annuler", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Annuler", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Connexion réseau" IDS_NET_CONNECT "Connexion réseau"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "ביטול", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "ביטול", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "חיבור רשת" IDS_NET_CONNECT "חיבור רשת"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Network Connection" IDS_NET_CONNECT "Network Connection"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Network Connection" IDS_NET_CONNECT "Network Connection"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Annulla", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Annulla", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Connessioni di rete" IDS_NET_CONNECT "Connessioni di rete"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Network Connection" IDS_NET_CONNECT "Network Connection"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Network Connection" IDS_NET_CONNECT "Network Connection"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Avbryt", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Avbryt", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Nettverk tilkobling" IDS_NET_CONNECT "Nettverk tilkobling"

View file

@ -202,6 +202,13 @@ BEGIN
PUSHBUTTON "Anuluj", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Anuluj", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Połączenie sieciowe" IDS_NET_CONNECT "Połączenie sieciowe"

View file

@ -201,6 +201,13 @@ BEGIN
PUSHBUTTON "A&nulează", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "A&nulează", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Conexiune de rețea" IDS_NET_CONNECT "Conexiune de rețea"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Отмена", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Отмена", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Сетевое подключение" IDS_NET_CONNECT "Сетевое подключение"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Zrušiť", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Zrušiť", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Network Connection" IDS_NET_CONNECT "Network Connection"

View file

@ -200,6 +200,13 @@ BEGIN
PUSHBUTTON "Anulo", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Anulo", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Lidhje rrjeti" IDS_NET_CONNECT "Lidhje rrjeti"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Cancel", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Network Connection" IDS_NET_CONNECT "Network Connection"

View file

@ -197,6 +197,13 @@ BEGIN
PUSHBUTTON "İptal", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "İptal", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Ağ Bağlantısı" IDS_NET_CONNECT "Ağ Bağlantısı"

View file

@ -195,6 +195,13 @@ BEGIN
PUSHBUTTON "Скасувати", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "Скасувати", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "Мережне підключення" IDS_NET_CONNECT "Мережне підключення"

View file

@ -203,6 +203,13 @@ BEGIN
PUSHBUTTON "取消", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "取消", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "网络连接" IDS_NET_CONNECT "网络连接"

View file

@ -203,6 +203,13 @@ BEGIN
PUSHBUTTON "取消", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP PUSHBUTTON "取消", IDCANCEL, 120, 30, 50, 14, WS_TABSTOP
END END
IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Advanced"
FONT 8, "MS Shell Dlg"
BEGIN
END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_NET_CONNECT "網路連線" IDS_NET_CONNECT "網路連線"

View file

@ -15,8 +15,6 @@
#include <ndk/iofuncs.h> #include <ndk/iofuncs.h>
#include <ndk/rtlfuncs.h> #include <ndk/rtlfuncs.h>
#define NDEBUG
#include <debug.h>
HINSTANCE netcfgx_hInstance; HINSTANCE netcfgx_hInstance;
const GUID CLSID_TcpipConfigNotifyObject = {0xA907657F, 0x6FDF, 0x11D0, {0x8E, 0xFB, 0x00, 0xC0, 0x4F, 0xD9, 0x12, 0xB2}}; const GUID CLSID_TcpipConfigNotifyObject = {0xA907657F, 0x6FDF, 0x11D0, {0x8E, 0xFB, 0x00, 0xC0, 0x4F, 0xD9, 0x12, 0xB2}};
@ -244,7 +242,7 @@ InstallNetDevice(
/* Get Instance ID */ /* Get Instance ID */
if (SetupDiGetDeviceInstanceIdW(DeviceInfoSet, DeviceInfoData, NULL, 0, &dwLength)) if (SetupDiGetDeviceInstanceIdW(DeviceInfoSet, DeviceInfoData, NULL, 0, &dwLength))
{ {
DPRINT("SetupDiGetDeviceInstanceIdW() returned TRUE. FALSE expected\n"); ERR("SetupDiGetDeviceInstanceIdW() returned TRUE. FALSE expected\n");
rc = ERROR_GEN_FAILURE; rc = ERROR_GEN_FAILURE;
goto cleanup; goto cleanup;
} }
@ -252,7 +250,7 @@ InstallNetDevice(
InstanceId = HeapAlloc(GetProcessHeap(), 0, dwLength * sizeof(WCHAR)); InstanceId = HeapAlloc(GetProcessHeap(), 0, dwLength * sizeof(WCHAR));
if (!InstanceId) if (!InstanceId)
{ {
DPRINT("HeapAlloc() failed\n"); ERR("HeapAlloc() failed\n");
rc = ERROR_NOT_ENOUGH_MEMORY; rc = ERROR_NOT_ENOUGH_MEMORY;
goto cleanup; goto cleanup;
} }
@ -260,7 +258,7 @@ InstallNetDevice(
if (!SetupDiGetDeviceInstanceIdW(DeviceInfoSet, DeviceInfoData, InstanceId, dwLength, NULL)) if (!SetupDiGetDeviceInstanceIdW(DeviceInfoSet, DeviceInfoData, InstanceId, dwLength, NULL))
{ {
rc = GetLastError(); rc = GetLastError();
DPRINT("SetupDiGetDeviceInstanceIdW() failed with error 0x%lx\n", rc); ERR("SetupDiGetDeviceInstanceIdW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
@ -268,7 +266,7 @@ InstallNetDevice(
DeviceName = HeapAlloc(GetProcessHeap(), 0, (wcslen(L"\\Device\\") + wcslen(UuidString)) * sizeof(WCHAR) + sizeof(UNICODE_NULL)); DeviceName = HeapAlloc(GetProcessHeap(), 0, (wcslen(L"\\Device\\") + wcslen(UuidString)) * sizeof(WCHAR) + sizeof(UNICODE_NULL));
if (!DeviceName) if (!DeviceName)
{ {
DPRINT("HeapAlloc() failed\n"); ERR("HeapAlloc() failed\n");
rc = ERROR_NOT_ENOUGH_MEMORY; rc = ERROR_NOT_ENOUGH_MEMORY;
goto cleanup; goto cleanup;
} }
@ -279,7 +277,7 @@ InstallNetDevice(
ExportName = HeapAlloc(GetProcessHeap(), 0, (wcslen(L"\\Device\\Tcpip_") + wcslen(UuidString)) * sizeof(WCHAR) + sizeof(UNICODE_NULL)); ExportName = HeapAlloc(GetProcessHeap(), 0, (wcslen(L"\\Device\\Tcpip_") + wcslen(UuidString)) * sizeof(WCHAR) + sizeof(UNICODE_NULL));
if (!ExportName) if (!ExportName)
{ {
DPRINT("HeapAlloc() failed\n"); ERR("HeapAlloc() failed\n");
rc = ERROR_NOT_ENOUGH_MEMORY; rc = ERROR_NOT_ENOUGH_MEMORY;
goto cleanup; goto cleanup;
} }
@ -290,14 +288,14 @@ InstallNetDevice(
rc = RegCreateKeyExW(HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Services", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_CREATE_SUB_KEY, NULL, &hKey, NULL); rc = RegCreateKeyExW(HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Services", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_CREATE_SUB_KEY, NULL, &hKey, NULL);
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegCreateKeyExW() failed with error 0x%lx\n", rc); ERR("RegCreateKeyExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
rc = RegCreateKeyExW(hKey, UuidString, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_CREATE_SUB_KEY, NULL, &hNetworkKey, NULL); rc = RegCreateKeyExW(hKey, UuidString, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_CREATE_SUB_KEY, NULL, &hNetworkKey, NULL);
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegCreateKeyExW() failed with error 0x%lx\n", rc); ERR("RegCreateKeyExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
RegCloseKey(hKey); RegCloseKey(hKey);
@ -306,7 +304,7 @@ InstallNetDevice(
rc = RegCreateKeyExW(hNetworkKey, L"Parameters\\Tcpip", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, &hKey, NULL); rc = RegCreateKeyExW(hNetworkKey, L"Parameters\\Tcpip", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, &hKey, NULL);
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegCreateKeyExW() failed with error 0x%lx\n", rc); ERR("RegCreateKeyExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
RegCloseKey(hNetworkKey); RegCloseKey(hNetworkKey);
@ -315,21 +313,21 @@ InstallNetDevice(
rc = RegSetValueExW(hKey, L"DefaultGateway", 0, REG_SZ, (const BYTE*)L"0.0.0.0", (wcslen(L"0.0.0.0") + 1) * sizeof(WCHAR)); rc = RegSetValueExW(hKey, L"DefaultGateway", 0, REG_SZ, (const BYTE*)L"0.0.0.0", (wcslen(L"0.0.0.0") + 1) * sizeof(WCHAR));
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegSetValueExW() failed with error 0x%lx\n", rc); ERR("RegSetValueExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
rc = RegSetValueExW(hKey, L"IPAddress", 0, REG_SZ, (const BYTE*)L"0.0.0.0", (wcslen(L"0.0.0.0") + 1) * sizeof(WCHAR)); rc = RegSetValueExW(hKey, L"IPAddress", 0, REG_SZ, (const BYTE*)L"0.0.0.0", (wcslen(L"0.0.0.0") + 1) * sizeof(WCHAR));
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegSetValueExW() failed with error 0x%lx\n", rc); ERR("RegSetValueExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
rc = RegSetValueExW(hKey, L"SubnetMask", 0, REG_SZ, (const BYTE*)L"0.0.0.0", (wcslen(L"0.0.0.0") + 1) * sizeof(WCHAR)); rc = RegSetValueExW(hKey, L"SubnetMask", 0, REG_SZ, (const BYTE*)L"0.0.0.0", (wcslen(L"0.0.0.0") + 1) * sizeof(WCHAR));
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegSetValueExW() failed with error 0x%lx\n", rc); ERR("RegSetValueExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
@ -337,7 +335,7 @@ InstallNetDevice(
rc = RegSetValueExW(hKey, L"EnableDHCP", 0, REG_DWORD, (const BYTE*)&dwValue, sizeof(DWORD)); rc = RegSetValueExW(hKey, L"EnableDHCP", 0, REG_DWORD, (const BYTE*)&dwValue, sizeof(DWORD));
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegSetValueExW() failed with error 0x%lx\n", rc); ERR("RegSetValueExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
RegCloseKey(hKey); RegCloseKey(hKey);
@ -355,21 +353,21 @@ InstallNetDevice(
{ {
hKey = NULL; hKey = NULL;
rc = GetLastError(); rc = GetLastError();
DPRINT1("SetupDiCreateDevRegKeyW() failed with error 0x%lx\n", rc); ERR("SetupDiCreateDevRegKeyW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
rc = RegSetValueExW(hKey, L"NetCfgInstanceId", 0, REG_SZ, (const BYTE*)UuidString, (wcslen(UuidString) + 1) * sizeof(WCHAR)); rc = RegSetValueExW(hKey, L"NetCfgInstanceId", 0, REG_SZ, (const BYTE*)UuidString, (wcslen(UuidString) + 1) * sizeof(WCHAR));
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegSetValueExW() failed with error 0x%lx\n", rc); ERR("RegSetValueExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
rc = RegSetValueExW(hKey, L"Characteristics", 0, REG_DWORD, (const BYTE*)&Characteristics, sizeof(DWORD)); rc = RegSetValueExW(hKey, L"Characteristics", 0, REG_DWORD, (const BYTE*)&Characteristics, sizeof(DWORD));
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegSetValueExW() failed with error 0x%lx\n", rc); ERR("RegSetValueExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
@ -378,7 +376,7 @@ InstallNetDevice(
rc = RegSetValueExW(hKey, L"BusType", 0, REG_SZ, (const BYTE*)BusType, (wcslen(BusType) + 1) * sizeof(WCHAR)); rc = RegSetValueExW(hKey, L"BusType", 0, REG_SZ, (const BYTE*)BusType, (wcslen(BusType) + 1) * sizeof(WCHAR));
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegSetValueExW() failed with error 0x%lx\n", rc); ERR("RegSetValueExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
} }
@ -386,28 +384,28 @@ InstallNetDevice(
rc = RegCreateKeyExW(hKey, L"Linkage", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, &hLinkageKey, NULL); rc = RegCreateKeyExW(hKey, L"Linkage", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, &hLinkageKey, NULL);
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegCreateKeyExW() failed with error 0x%lx\n", rc); ERR("RegCreateKeyExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
rc = RegSetValueExW(hLinkageKey, L"Export", 0, REG_SZ, (const BYTE*)DeviceName, (wcslen(DeviceName) + 1) * sizeof(WCHAR)); rc = RegSetValueExW(hLinkageKey, L"Export", 0, REG_SZ, (const BYTE*)DeviceName, (wcslen(DeviceName) + 1) * sizeof(WCHAR));
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegSetValueExW() failed with error 0x%lx\n", rc); ERR("RegSetValueExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
rc = RegSetValueExW(hLinkageKey, L"RootDevice", 0, REG_SZ, (const BYTE*)UuidString, (wcslen(UuidString) + 1) * sizeof(WCHAR)); rc = RegSetValueExW(hLinkageKey, L"RootDevice", 0, REG_SZ, (const BYTE*)UuidString, (wcslen(UuidString) + 1) * sizeof(WCHAR));
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegSetValueExW() failed with error 0x%lx\n", rc); ERR("RegSetValueExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
rc = RegSetValueExW(hLinkageKey, L"UpperBind", 0, REG_SZ, (const BYTE*)L"Tcpip", (wcslen(L"Tcpip") + 1) * sizeof(WCHAR)); rc = RegSetValueExW(hLinkageKey, L"UpperBind", 0, REG_SZ, (const BYTE*)L"Tcpip", (wcslen(L"Tcpip") + 1) * sizeof(WCHAR));
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegSetValueExW() failed with error 0x%lx\n", rc); ERR("RegSetValueExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
RegCloseKey(hKey); RegCloseKey(hKey);
@ -417,14 +415,14 @@ InstallNetDevice(
rc = RegCreateKeyExW(HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_CREATE_SUB_KEY, NULL, &hNetworkKey, NULL); rc = RegCreateKeyExW(HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_CREATE_SUB_KEY, NULL, &hNetworkKey, NULL);
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegCreateKeyExW() failed with error 0x%lx\n", rc); ERR("RegCreateKeyExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
rc = RegCreateKeyExW(hNetworkKey, UuidString, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_CREATE_SUB_KEY, NULL, &hKey, NULL); rc = RegCreateKeyExW(hNetworkKey, UuidString, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_CREATE_SUB_KEY, NULL, &hKey, NULL);
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegCreateKeyExW() failed with error 0x%lx\n", rc); ERR("RegCreateKeyExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
@ -433,7 +431,7 @@ InstallNetDevice(
hKey = NULL; hKey = NULL;
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegCreateKeyExW() failed with error 0x%lx\n", rc); ERR("RegCreateKeyExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
@ -445,14 +443,14 @@ InstallNetDevice(
rc = RegSetValueExW(hConnectionKey, L"Name", 0, REG_SZ, (const BYTE*)szBuffer, (wcslen(szBuffer) + 1) * sizeof(WCHAR)); rc = RegSetValueExW(hConnectionKey, L"Name", 0, REG_SZ, (const BYTE*)szBuffer, (wcslen(szBuffer) + 1) * sizeof(WCHAR));
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegSetValueExW() failed with error 0x%lx\n", rc); ERR("RegSetValueExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
rc = RegSetValueExW(hConnectionKey, L"PnpInstanceId", 0, REG_SZ, (const BYTE*)InstanceId, (wcslen(InstanceId) + 1) * sizeof(WCHAR)); rc = RegSetValueExW(hConnectionKey, L"PnpInstanceId", 0, REG_SZ, (const BYTE*)InstanceId, (wcslen(InstanceId) + 1) * sizeof(WCHAR));
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegSetValueExW() failed with error 0x%lx\n", rc); ERR("RegSetValueExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
@ -460,7 +458,7 @@ InstallNetDevice(
rc = RegSetValueExW(hConnectionKey, L"ShowIcon", 0, REG_DWORD, (const BYTE*)&dwShowIcon, sizeof(dwShowIcon)); rc = RegSetValueExW(hConnectionKey, L"ShowIcon", 0, REG_DWORD, (const BYTE*)&dwShowIcon, sizeof(dwShowIcon));
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegSetValueExW() failed with error 0x%lx\n", rc); ERR("RegSetValueExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
@ -468,25 +466,25 @@ InstallNetDevice(
rc = RegCreateKeyExW(HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Linkage", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_QUERY_VALUE | KEY_SET_VALUE, NULL, &hKey, NULL); rc = RegCreateKeyExW(HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Linkage", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_QUERY_VALUE | KEY_SET_VALUE, NULL, &hKey, NULL);
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("RegCreateKeyExW() failed with error 0x%lx\n", rc); ERR("RegCreateKeyExW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
rc = AppendStringToMultiSZ(hKey, L"Bind", DeviceName); rc = AppendStringToMultiSZ(hKey, L"Bind", DeviceName);
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("AppendStringToMultiSZ() failed with error 0x%lx\n", rc); ERR("AppendStringToMultiSZ() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
rc = AppendStringToMultiSZ(hKey, L"Export", ExportName); rc = AppendStringToMultiSZ(hKey, L"Export", ExportName);
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("AppendStringToMultiSZ() failed with error 0x%lx\n", rc); ERR("AppendStringToMultiSZ() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
rc = AppendStringToMultiSZ(hKey, L"Route", UuidString); rc = AppendStringToMultiSZ(hKey, L"Route", UuidString);
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
DPRINT1("AppendStringToMultiSZ() failed with error 0x%lx\n", rc); ERR("AppendStringToMultiSZ() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
@ -511,7 +509,7 @@ static
DWORD DWORD
InstallNetClient(VOID) InstallNetClient(VOID)
{ {
DPRINT1("Installation of network clients is not yet supported\n"); FIXME("Installation of network clients is not yet supported\n");
return ERROR_GEN_FAILURE; return ERROR_GEN_FAILURE;
} }
@ -519,7 +517,7 @@ static
DWORD DWORD
InstallNetService(VOID) InstallNetService(VOID)
{ {
DPRINT1("Installation of network services is not yet supported\n"); FIXME("Installation of network services is not yet supported\n");
return ERROR_GEN_FAILURE; return ERROR_GEN_FAILURE;
} }
@ -527,7 +525,7 @@ static
DWORD DWORD
InstallNetTransport(VOID) InstallNetTransport(VOID)
{ {
DPRINT1("Installation of network protocols is not yet supported\n"); FIXME("Installation of network protocols is not yet supported\n");
return ERROR_GEN_FAILURE; return ERROR_GEN_FAILURE;
} }
@ -557,14 +555,14 @@ NetClassInstaller(
if (InstallFunction != DIF_INSTALLDEVICE) if (InstallFunction != DIF_INSTALLDEVICE)
return ERROR_DI_DO_DEFAULT; return ERROR_DI_DO_DEFAULT;
DPRINT("%lu %p %p\n", InstallFunction, DeviceInfoSet, DeviceInfoData); TRACE("%lu %p %p\n", InstallFunction, DeviceInfoSet, DeviceInfoData);
/* Get driver info details */ /* Get driver info details */
DriverInfoData.cbSize = sizeof(SP_DRVINFO_DATA_W); DriverInfoData.cbSize = sizeof(SP_DRVINFO_DATA_W);
if (!SetupDiGetSelectedDriverW(DeviceInfoSet, DeviceInfoData, &DriverInfoData)) if (!SetupDiGetSelectedDriverW(DeviceInfoSet, DeviceInfoData, &DriverInfoData))
{ {
rc = GetLastError(); rc = GetLastError();
DPRINT("SetupDiGetSelectedDriverW() failed with error 0x%lx\n", rc); ERR("SetupDiGetSelectedDriverW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
@ -573,7 +571,7 @@ NetClassInstaller(
&& GetLastError() != ERROR_INSUFFICIENT_BUFFER) && GetLastError() != ERROR_INSUFFICIENT_BUFFER)
{ {
rc = GetLastError(); rc = GetLastError();
DPRINT("SetupDiGetDriverInfoDetailW() failed with error 0x%lx\n", rc); ERR("SetupDiGetDriverInfoDetailW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
@ -581,14 +579,14 @@ NetClassInstaller(
if (hInf == INVALID_HANDLE_VALUE) if (hInf == INVALID_HANDLE_VALUE)
{ {
rc = GetLastError(); rc = GetLastError();
DPRINT("SetupOpenInfFileW() failed with error 0x%lx\n", rc); ERR("SetupOpenInfFileW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
if (!SetupDiGetActualSectionToInstallW(hInf, DriverInfoDetail.SectionName, SectionName, LINE_LEN, NULL, NULL)) if (!SetupDiGetActualSectionToInstallW(hInf, DriverInfoDetail.SectionName, SectionName, LINE_LEN, NULL, NULL))
{ {
rc = GetLastError(); rc = GetLastError();
DPRINT("SetupDiGetActualSectionToInstallW() failed with error 0x%lx\n", rc); ERR("SetupDiGetActualSectionToInstallW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
@ -596,7 +594,7 @@ NetClassInstaller(
if (!SetupFindFirstLineW(hInf, SectionName, L"Characteristics", &InfContext)) if (!SetupFindFirstLineW(hInf, SectionName, L"Characteristics", &InfContext))
{ {
rc = GetLastError(); rc = GetLastError();
DPRINT("Unable to find key %S in section %S of file %S (error 0x%lx)\n", ERR("Unable to find key %S in section %S of file %S (error 0x%lx)\n",
L"Characteristics", SectionName, DriverInfoDetail.InfFileName, rc); L"Characteristics", SectionName, DriverInfoDetail.InfFileName, rc);
goto cleanup; goto cleanup;
} }
@ -604,7 +602,7 @@ NetClassInstaller(
if (!SetupGetIntField(&InfContext, 1, &CharacteristicsInt)) if (!SetupGetIntField(&InfContext, 1, &CharacteristicsInt))
{ {
rc = GetLastError(); rc = GetLastError();
DPRINT("SetupGetIntField() failed with error 0x%lx\n", rc); ERR("SetupGetIntField() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
@ -616,14 +614,14 @@ NetClassInstaller(
if (!SetupGetStringFieldW(&InfContext, 1, NULL, 0, &dwLength)) if (!SetupGetStringFieldW(&InfContext, 1, NULL, 0, &dwLength))
{ {
rc = GetLastError(); rc = GetLastError();
DPRINT("SetupGetStringFieldW() failed with error 0x%lx\n", rc); ERR("SetupGetStringFieldW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
BusType = HeapAlloc(GetProcessHeap(), 0, dwLength * sizeof(WCHAR)); BusType = HeapAlloc(GetProcessHeap(), 0, dwLength * sizeof(WCHAR));
if (!BusType) if (!BusType)
{ {
DPRINT("HeapAlloc() failed\n"); ERR("HeapAlloc() failed\n");
rc = ERROR_NOT_ENOUGH_MEMORY; rc = ERROR_NOT_ENOUGH_MEMORY;
goto cleanup; goto cleanup;
} }
@ -631,7 +629,7 @@ NetClassInstaller(
if (!SetupGetStringFieldW(&InfContext, 1, BusType, dwLength, NULL)) if (!SetupGetStringFieldW(&InfContext, 1, BusType, dwLength, NULL))
{ {
rc = GetLastError(); rc = GetLastError();
DPRINT("SetupGetStringFieldW() failed with error 0x%lx\n", rc); ERR("SetupGetStringFieldW() failed with error 0x%lx\n", rc);
goto cleanup; goto cleanup;
} }
} }
@ -641,7 +639,7 @@ NetClassInstaller(
RpcStatus = UuidCreate(&Uuid); RpcStatus = UuidCreate(&Uuid);
if (RpcStatus != RPC_S_OK && RpcStatus != RPC_S_UUID_LOCAL_ONLY) if (RpcStatus != RPC_S_OK && RpcStatus != RPC_S_UUID_LOCAL_ONLY)
{ {
DPRINT("UuidCreate() failed with RPC status 0x%lx\n", RpcStatus); ERR("UuidCreate() failed with RPC status 0x%lx\n", RpcStatus);
rc = ERROR_GEN_FAILURE; rc = ERROR_GEN_FAILURE;
goto cleanup; goto cleanup;
} }
@ -649,7 +647,7 @@ NetClassInstaller(
RpcStatus = UuidToStringW(&Uuid, &UuidRpcString); RpcStatus = UuidToStringW(&Uuid, &UuidRpcString);
if (RpcStatus != RPC_S_OK) if (RpcStatus != RPC_S_OK)
{ {
DPRINT("UuidToStringW() failed with RPC status 0x%lx\n", RpcStatus); ERR("UuidToStringW() failed with RPC status 0x%lx\n", RpcStatus);
rc = ERROR_GEN_FAILURE; rc = ERROR_GEN_FAILURE;
goto cleanup; goto cleanup;
} }
@ -658,7 +656,7 @@ NetClassInstaller(
UuidString = HeapAlloc(GetProcessHeap(), 0, (2 + wcslen(UuidRpcString)) * sizeof(WCHAR) + sizeof(UNICODE_NULL)); UuidString = HeapAlloc(GetProcessHeap(), 0, (2 + wcslen(UuidRpcString)) * sizeof(WCHAR) + sizeof(UNICODE_NULL));
if (!UuidString) if (!UuidString)
{ {
DPRINT("HeapAlloc() failed\n"); ERR("HeapAlloc() failed\n");
rc = ERROR_NOT_ENOUGH_MEMORY; rc = ERROR_NOT_ENOUGH_MEMORY;
goto cleanup; goto cleanup;
} }
@ -677,7 +675,7 @@ NetClassInstaller(
rc = InstallNetTransport(); rc = InstallNetTransport();
else else
{ {
DPRINT("Invalid class guid\n"); ERR("Invalid class guid\n");
rc = ERROR_GEN_FAILURE; rc = ERROR_GEN_FAILURE;
} }
@ -691,6 +689,6 @@ cleanup:
if (rc == ERROR_SUCCESS) if (rc == ERROR_SUCCESS)
rc = ERROR_DI_DO_DEFAULT; rc = ERROR_DI_DO_DEFAULT;
DPRINT("Returning 0x%lx\n", rc); TRACE("Returning 0x%lx\n", rc);
return rc; return rc;
} }

View file

@ -7,8 +7,8 @@
8 stub ModemClassCoInstaller 8 stub ModemClassCoInstaller
9 stub NetCfgDiagFromCommandArgs 9 stub NetCfgDiagFromCommandArgs
10 stub NetCfgDiagRepairRegistryBindings 10 stub NetCfgDiagRepairRegistryBindings
11 stdcall NetClassInstaller (long ptr ptr) 11 stdcall NetClassInstaller(long ptr ptr)
12 stub NetPropPageProvider 12 stdcall NetPropPageProvider(ptr ptr long)
13 stub RasAddBindings 13 stub RasAddBindings
14 stub RasCountBindings 14 stub RasCountBindings
15 stub RasRemoveBindings 15 stub RasRemoveBindings

View file

@ -21,8 +21,12 @@
#include <devguid.h> #include <devguid.h>
#include <commctrl.h> #include <commctrl.h>
#include <wine/debug.h>
#include "resource.h" #include "resource.h"
WINE_DEFAULT_DEBUG_CHANNEL(netcfgx);
typedef HRESULT (CALLBACK *LPFNCREATEINSTANCE)(IUnknown* pUnkOuter, REFIID riid, LPVOID* ppvObject); typedef HRESULT (CALLBACK *LPFNCREATEINSTANCE)(IUnknown* pUnkOuter, REFIID riid, LPVOID* ppvObject);
typedef struct { typedef struct {
REFIID riid; REFIID riid;

View file

@ -0,0 +1,83 @@
/*
* PROJECT: ReactOS system libraries
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Network property page provider
* COPYRIGHT: Copyright 2018 Eric Kohl (eric.kohl@reactos.org)
*/
#include "precomp.h"
static
INT_PTR
CALLBACK
NetPropertyPageDlgProc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam)
{
switch (uMsg)
{
case WM_INITDIALOG:
ERR("NetPropertyPageDlgProc: WM_INITDIALOG\n");
return TRUE;
// return OnInitDialog(hwnd, wParam, lParam);
// case WM_DESTROY:
// OnDestroy(hwnd);
// break;
default:
break;
}
return FALSE;
}
BOOL
WINAPI
NetPropPageProvider(
PSP_PROPSHEETPAGE_REQUEST lpPropSheetPageRequest,
LPFNADDPROPSHEETPAGE lpfnAddPropSheetPageProc,
LPARAM lParam)
{
PROPSHEETPAGEW PropSheetPage;
HPROPSHEETPAGE hPropSheetPage;
ERR("NetPropPageProvider(%p %p %lx)\n",
lpPropSheetPageRequest, lpfnAddPropSheetPageProc, lParam);
if (lpPropSheetPageRequest->PageRequested == SPPSR_ENUM_ADV_DEVICE_PROPERTIES)
{
ERR("SPPSR_ENUM_ADV_DEVICE_PROPERTIES\n");
PropSheetPage.dwSize = sizeof(PROPSHEETPAGEW);
PropSheetPage.dwFlags = 0;
PropSheetPage.hInstance = netcfgx_hInstance;
PropSheetPage.u.pszTemplate = MAKEINTRESOURCE(IDD_NET_PROPERTY_DLG);
PropSheetPage.pfnDlgProc = NetPropertyPageDlgProc;
PropSheetPage.lParam = 0;
PropSheetPage.pfnCallback = NULL;
hPropSheetPage = CreatePropertySheetPageW(&PropSheetPage);
if (hPropSheetPage == NULL)
{
ERR("CreatePropertySheetPageW() failed!\n");
return FALSE;
}
if (!(*lpfnAddPropSheetPageProc)(hPropSheetPage, lParam))
{
ERR("lpfnAddPropSheetPageProc() failed!\n");
DestroyPropertySheetPage(hPropSheetPage);
return FALSE;
}
}
ERR("Done!\n");
return TRUE;
}
/* EOF */

View file

@ -12,6 +12,7 @@
#define IDD_TCPIPDNS_DLG 108 #define IDD_TCPIPDNS_DLG 108
#define IDD_TCPIPSUFFIX_DLG 109 #define IDD_TCPIPSUFFIX_DLG 109
#define IDD_TCPIP_PORT_DLG 110 #define IDD_TCPIP_PORT_DLG 110
#define IDD_NET_PROPERTY_DLG 111
/* controls */ /* controls */