[PATCH v2 1/2] ndis.sys: Add network adapter information to the registry.

Haoyang Chen chenhaoyang at uniontech.com
Mon Jul 19 21:50:19 CDT 2021


Signed-off-by: Haoyang Chen <chenhaoyang at uniontech.com>
---
 dlls/ndis.sys/main.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/dlls/ndis.sys/main.c b/dlls/ndis.sys/main.c
index 94c19ffca53..25faf9f7dad 100644
--- a/dlls/ndis.sys/main.c
+++ b/dlls/ndis.sys/main.c
@@ -123,6 +123,7 @@ static void add_key(const WCHAR *guidstrW, const MIB_IF_ROW2 *netdev)
 {
     HKEY card_key;
     WCHAR keynameW[100];
+    HKEY sub_key;
 
     swprintf( keynameW, ARRAY_SIZE(keynameW), L"Software\\Microsoft\\Windows NT\\CurrentVersion\\NetworkCards\\%d", netdev->InterfaceIndex );
     if (RegCreateKeyExW( HKEY_LOCAL_MACHINE, keynameW, 0, NULL,
@@ -132,6 +133,22 @@ static void add_key(const WCHAR *guidstrW, const MIB_IF_ROW2 *netdev)
         RegSetValueExW( card_key, L"ServiceName", 0, REG_SZ, (BYTE *)guidstrW, (lstrlenW(guidstrW) + 1) * sizeof(WCHAR) );
         RegCloseKey( card_key );
     }
+
+    swprintf( keynameW, ARRAY_SIZE(keynameW), L"System\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}");
+    if (RegCreateKeyExW( HKEY_LOCAL_MACHINE, keynameW, 0, NULL,
+                 REG_OPTION_VOLATILE, KEY_ALL_ACCESS, NULL, &card_key, NULL ) == ERROR_SUCCESS)
+    {
+        swprintf( keynameW, ARRAY_SIZE(keynameW), L"%s\\Connection", guidstrW);
+        if (RegCreateKeyExW( card_key, keynameW, 0, NULL,
+                 REG_OPTION_VOLATILE, KEY_ALL_ACCESS, NULL, &sub_key, NULL ) == ERROR_SUCCESS)
+        {
+            RegSetValueExW( sub_key, L"Name", 0, REG_SZ, (BYTE *)netdev->Description, (lstrlenW(netdev->Description) + 1) * sizeof(WCHAR) );
+            RegSetValueExW( sub_key, L"PnpInstanceID", 0, REG_SZ, (BYTE *)L"PCI\\VEN_8086&DEV_100E&SUBSYS_001E8086&REV_02\\3&267A616A&0&18",
+                    (lstrlenW(L"PCI\\VEN_8086&DEV_100E&SUBSYS_001E8086&REV_02\\3&267A616A&0&18") + 1) * sizeof(WCHAR) );
+            RegCloseKey( sub_key );
+        }
+        RegCloseKey( card_key );
+    }
 }
 
 static int add_device(DRIVER_OBJECT *driver, const WCHAR *guidstrW, MIB_IF_ROW2 *netdev)
-- 
2.20.1






More information about the wine-devel mailing list