[PATCH v2 2/6] iphlpapi: Implement ConvertInterfaceIndexToLuid() on top of nsi.
Huw Davies
huw at codeweavers.com
Tue Jul 6 04:11:48 CDT 2021
Signed-off-by: Huw Davies <huw at codeweavers.com>
---
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.23.0
More information about the wine-devel
mailing list