Bruno Jesus : wlanapi: Semi-stub WlanEnumInterfaces.
Alexandre Julliard
julliard at winehq.org
Wed Feb 8 15:52:13 CST 2017
Module: wine
Branch: master
Commit: 6bb8ca1e25a9cfc66f396b2ae6bc423a8057929c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6bb8ca1e25a9cfc66f396b2ae6bc423a8057929c
Author: Bruno Jesus <00cpxxx at gmail.com>
Date: Tue Feb 7 16:05:40 2017 -0200
wlanapi: Semi-stub WlanEnumInterfaces.
Signed-off-by: Bruno Jesus <00cpxxx at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
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 3fae765..6955245 100644
--- a/dlls/wlanapi/main.c
+++ b/dlls/wlanapi/main.c
@@ -63,8 +63,28 @@ static 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 e0c55f6..882aa82 100644
--- a/dlls/wlanapi/tests/wlanapi.c
+++ b/dlls/wlanapi/tests/wlanapi.c
@@ -134,24 +134,19 @@ static 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)
{
More information about the wine-cvs
mailing list