[PATCH 3/6] iphlpapi: Implement GetNumberOfInterfaces() on top of nsi.
Huw Davies
huw at codeweavers.com
Thu Jul 8 02:59:59 CDT 2021
Signed-off-by: Huw Davies <huw at codeweavers.com>
---
dlls/iphlpapi/iphlpapi_main.c | 21 +++++++++------------
dlls/iphlpapi/tests/iphlpapi.c | 4 ----
2 files changed, 9 insertions(+), 16 deletions(-)
diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c
index b869570bac0..d8696f62ab7 100644
--- a/dlls/iphlpapi/iphlpapi_main.c
+++ b/dlls/iphlpapi/iphlpapi_main.c
@@ -2376,21 +2376,18 @@ DWORD WINAPI GetNetworkParams(PFIXED_INFO pFixedInfo, PULONG pOutBufLen)
* RETURNS
* NO_ERROR on success, ERROR_INVALID_PARAMETER if pdwNumIf is NULL.
*/
-DWORD WINAPI GetNumberOfInterfaces(PDWORD pdwNumIf)
+DWORD WINAPI GetNumberOfInterfaces( DWORD *count )
{
- DWORD ret;
+ DWORD err, num;
- TRACE("pdwNumIf %p\n", pdwNumIf);
- if (!pdwNumIf)
- ret = ERROR_INVALID_PARAMETER;
- else {
- *pdwNumIf = get_interface_indices( FALSE, NULL );
- ret = NO_ERROR;
- }
- TRACE("returning %d\n", ret);
- return ret;
-}
+ TRACE( "count %p\n", count );
+ if (!count) return ERROR_INVALID_PARAMETER;
+ err = NsiEnumerateObjectsAllParameters( 1, 1, &NPI_MS_NDIS_MODULEID, NSI_NDIS_IFINFO_TABLE, NULL, 0,
+ NULL, 0, NULL, 0, NULL, 0, &num );
+ *count = err ? 0 : num;
+ return err;
+}
/******************************************************************
* GetPerAdapterInfo (IPHLPAPI.@)
diff --git a/dlls/iphlpapi/tests/iphlpapi.c b/dlls/iphlpapi/tests/iphlpapi.c
index 87aeb99d6d9..bbd3ac2cc9e 100644
--- a/dlls/iphlpapi/tests/iphlpapi.c
+++ b/dlls/iphlpapi/tests/iphlpapi.c
@@ -138,10 +138,6 @@ static void testGetNumberOfInterfaces(void)
}
apiReturn = GetNumberOfInterfaces(&numInterfaces);
- if (apiReturn == ERROR_NOT_SUPPORTED) {
- skip("GetNumberOfInterfaces is not supported\n");
- return;
- }
ok(apiReturn == NO_ERROR,
"GetNumberOfInterfaces returned %d, expected 0\n", apiReturn);
}
--
2.23.0
More information about the wine-devel
mailing list