From a124b765b1377fea8a2fe88dc1ae191c8bf83b3f Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Tue, 6 Jul 2021 10:11:48 +0100 Subject: [PATCH] iphlpapi: Implement ConvertInterfaceIndexToLuid() on top of nsi. Signed-off-by: Huw Davies Signed-off-by: Alexandre Julliard --- dlls/iphlpapi/Makefile.in | 2 +- dlls/iphlpapi/iphlpapi_main.c | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/dlls/iphlpapi/Makefile.in b/dlls/iphlpapi/Makefile.in index 3a2227f5ebb..3db17289bf4 100644 --- a/dlls/iphlpapi/Makefile.in +++ b/dlls/iphlpapi/Makefile.in @@ -1,6 +1,6 @@ MODULE = iphlpapi.dll IMPORTLIB = iphlpapi -IMPORTS = advapi32 +IMPORTS = advapi32 nsi uuid EXTRALIBS = $(RESOLV_LIBS) $(KSTAT_LIBS) $(PROCSTAT_LIBS) C_SRCS = \ diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c index b6b96165027..05f3c3b9b76 100644 --- a/dlls/iphlpapi/iphlpapi_main.c +++ b/dlls/iphlpapi/iphlpapi_main.c @@ -56,7 +56,9 @@ #include "netioapi.h" #include "tcpestats.h" #include "ip2string.h" +#include "netiodef.h" +#include "wine/nsi.h" #include "wine/debug.h" #include "wine/unicode.h" @@ -3183,20 +3185,16 @@ DWORD WINAPI ConvertInterfaceGuidToLuid(const GUID *guid, NET_LUID *luid) */ DWORD WINAPI ConvertInterfaceIndexToLuid(NET_IFINDEX index, NET_LUID *luid) { - MIB_IFROW row; + DWORD err; - TRACE("(%u %p)\n", index, luid); + TRACE( "(%u %p)\n", index, luid ); if (!luid) return ERROR_INVALID_PARAMETER; - memset( luid, 0, sizeof(*luid) ); - - row.dwIndex = index; - if (GetIfEntry( &row )) return ERROR_FILE_NOT_FOUND; - luid->Info.Reserved = 0; - luid->Info.NetLuidIndex = index; - luid->Info.IfType = row.dwType; - return NO_ERROR; + err = NsiGetParameter( 1, &NPI_MS_NDIS_MODULEID, NSI_NDIS_INDEX_LUID_TABLE, &index, sizeof(index), + NSI_PARAM_TYPE_STATIC, luid, sizeof(*luid), 0 ); + if (err) luid->Value = 0; + return err; } /****************************************************************** -- 2.11.4.GIT