Signed-off-by: Haoyang Chen chenhaoyang@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)