[PATCH v4] iphlpapi: Fix the field 'AdapterName' of IP_ADAPTER_INFO returned by GetAdaptersInfo.
Yeshun Ye
yeyeshun at uniontech.com
Tue Jun 15 00:28:57 CDT 2021
Signed-off-by: Yeshun Ye <yeyeshun at uniontech.com>
---
dlls/iphlpapi/iphlpapi_main.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c
index 09414d26dde..21edd9ee128 100644
--- a/dlls/iphlpapi/iphlpapi_main.c
+++ b/dlls/iphlpapi/iphlpapi_main.c
@@ -706,9 +706,16 @@ DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen)
DWORD i;
PIP_ADDR_STRING currentIPAddr = &ptr->IpAddressList;
BOOL firstIPAddr = TRUE;
+ NET_LUID luid;
+ GUID guid;
/* on Win98 this is left empty, but whatever */
- getInterfaceNameByIndex(table->indexes[ndx], ptr->AdapterName);
+ ConvertInterfaceIndexToLuid(table->indexes[ndx], &luid);
+ ConvertInterfaceLuidToGuid(&luid, &guid);
+ sprintf(ptr->AdapterName, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
+ guid.Data1, guid.Data2, guid.Data3, guid.Data4[0], guid.Data4[1],
+ guid.Data4[2], guid.Data4[3], guid.Data4[4], guid.Data4[5],
+ guid.Data4[6], guid.Data4[7]);
getInterfaceNameByIndex(table->indexes[ndx], ptr->Description);
ptr->AddressLength = sizeof(ptr->Address);
getInterfacePhysicalByIndex(table->indexes[ndx],
--
2.20.1
More information about the wine-devel
mailing list