[PATCH] wlanapi: Semi-stub WlanEnumInterfaces
Bruno Jesus
00cpxxx at gmail.com
Tue Feb 7 12:05:40 CST 2017
Signed-off-by: Bruno Jesus <00cpxxx at gmail.com>
---
dlls/wlanapi/main.c | 24 ++++++++++++++++++++++--
dlls/wlanapi/tests/wlanapi.c | 5 -----
2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/dlls/wlanapi/main.c b/dlls/wlanapi/main.c
index ccca465..d3f7b85 100644
--- a/dlls/wlanapi/main.c
+++ b/dlls/wlanapi/main.c
@@ -64,8 +64,28 @@ HANDLE handle_new(struct wine_wlan **entry)
DWORD WINAPI WlanEnumInterfaces(HANDLE handle, void *reserved, WLAN_INTERFACE_INFO_LIST **interface_list)
{
- FIXME("(%p, %p, %p) stub\n", handle, reserved, interface_list);
- return ERROR_CALL_NOT_IMPLEMENTED;
+ struct wine_wlan *wlan;
+ WLAN_INTERFACE_INFO_LIST *ret_list;
+
+ FIXME("(%p, %p, %p) semi-stub\n", handle, reserved, interface_list);
+
+ if (!handle || reserved || !interface_list)
+ return ERROR_INVALID_PARAMETER;
+
+ wlan = handle_index(handle);
+ if (!wlan)
+ return ERROR_INVALID_HANDLE;
+
+ ret_list = WlanAllocateMemory(sizeof(WLAN_INTERFACE_INFO_LIST));
+ if (!ret_list)
+ return ERROR_NOT_ENOUGH_MEMORY;
+
+ memset(&ret_list->InterfaceInfo[0], 0, sizeof(WLAN_INTERFACE_INFO));
+ ret_list->dwNumberOfItems = 0;
+ ret_list->dwIndex = 0; /* unused in this function */
+ *interface_list = ret_list;
+
+ return ERROR_SUCCESS;
}
DWORD WINAPI WlanCloseHandle(HANDLE handle, void *reserved)
diff --git a/dlls/wlanapi/tests/wlanapi.c b/dlls/wlanapi/tests/wlanapi.c
index 82007ee..f5c12cb 100644
--- a/dlls/wlanapi/tests/wlanapi.c
+++ b/dlls/wlanapi/tests/wlanapi.c
@@ -134,24 +134,19 @@ void test_WlanEnumInterfaces(void)
/* invalid parameters */
ret = WlanEnumInterfaces(NULL, NULL, &list);
-todo_wine
ok(ret == ERROR_INVALID_PARAMETER, "Expected 87, got %d\n", ret);
ok(list == bad_list, "list changed\n");
ret = WlanEnumInterfaces(handle, &reserved, &list);
-todo_wine
ok(ret == ERROR_INVALID_PARAMETER, "Expected 87, got %d\n", ret);
ok(list == bad_list, "list changed\n");
ret = WlanEnumInterfaces(handle, NULL, NULL);
-todo_wine
ok(ret == ERROR_INVALID_PARAMETER, "Expected 87, got %d\n", ret);
ok(list == bad_list, "list changed\n");
/* good tests */
list = NULL;
ret = WlanEnumInterfaces(handle, NULL, &list);
-todo_wine
ok(ret == ERROR_SUCCESS, "Expected 0, got %d\n", ret);
-todo_wine
ok(list != NULL, "bad interface list\n");
if (!list || !list->dwNumberOfItems)
{
--
2.9.3
More information about the wine-patches
mailing list