Module: wine Branch: master Commit: 6bb8ca1e25a9cfc66f396b2ae6bc423a8057929c URL: http://source.winehq.org/git/wine.git/?a=commit;h=6bb8ca1e25a9cfc66f396b2ae6...
Author: Bruno Jesus 00cpxxx@gmail.com Date: Tue Feb 7 16:05:40 2017 -0200
wlanapi: Semi-stub WlanEnumInterfaces.
Signed-off-by: Bruno Jesus 00cpxxx@gmail.com Signed-off-by: Alexandre Julliard julliard@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) {