-implement WlanScan and WlanEnumInterfaces

-add some more NDIS definitions

svn path=/trunk/; revision=40055
This commit is contained in:
Christoph von Wittich 2009-03-16 09:22:25 +00:00
parent 7ea6daa784
commit aaa5075d3d
5 changed files with 78 additions and 5 deletions

View file

@ -112,6 +112,21 @@ DWORD _RpcScan(
PDOT11_SSID pDot11Ssid,
PWLAN_RAW_DATA pIeData)
{
/*
DWORD dwBytesReturned;
HANDLE hDevice;
ULONG OidCode = OID_802_11_BSSID_LIST_SCAN;
PNDIS_802_11_BSSID_LIST pBssIDList;
DeviceIoControl(hDevice,
IOCTL_NDIS_QUERY_GLOBAL_STATS,
&OidCode,
sizeof(ULONG),
NULL,
0,
&dwBytesReturned,
NULL);
*/
UNIMPLEMENTED;
return ERROR_CALL_NOT_IMPLEMENTED;
}
@ -173,7 +188,6 @@ DWORD _RpcAsyncGetNotification(
return ERROR_CALL_NOT_IMPLEMENTED;
}
DWORD _RpcSetProfileEapUserData(
WLANSVC_RPC_HANDLE hClientHandle,
GUID *pInterfaceGuid,

View file

@ -60,13 +60,62 @@ WlanCloseHandle(IN HANDLE hClientHandle,
return dwError;
}
DWORD
WINAPI
WlanEnumInterfaces(IN HANDLE hClientHandle,
PVOID pReserved,
OUT PWLAN_INTERFACE_INFO_LIST *ppInterfaceList)
{
DWORD dwError = ERROR_SUCCESS;
if ((pReserved != NULL) || (ppInterfaceList == NULL) || (hClientHandle == NULL))
return ERROR_INVALID_PARAMETER;
RpcTryExcept
{
_RpcEnumInterfaces(hClientHandle, ppInterfaceList);
}
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
{
dwError = RpcExceptionCode();
}
RpcEndExcept;
return dwError;
}
DWORD
WINAPI
WlanScan(IN HANDLE hClientHandle,
IN GUID *pInterfaceGuid,
IN PDOT11_SSID pDot11Ssid,
IN PWLAN_RAW_DATA pIeData,
PVOID pReserved)
{
DWORD dwError = ERROR_SUCCESS;
if ((pReserved != NULL) || (pInterfaceGuid == NULL) || (hClientHandle == NULL))
return ERROR_INVALID_PARAMETER;
RpcTryExcept
{
_RpcScan(hClientHandle, pInterfaceGuid, pDot11Ssid, pIeData);
}
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
{
dwError = RpcExceptionCode();
}
RpcEndExcept;
return dwError;
}
void __RPC_FAR * __RPC_USER
midl_user_allocate(size_t len)
{
return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len);
}
void __RPC_USER
midl_user_free(void __RPC_FAR * ptr)
{

View file

@ -1,9 +1,9 @@
@ stdcall WlanAllocateMemory (long)
@ stub WlanCloseHandle
@ stdcall WlanCloseHandle (ptr ptr)
@ stub WlanConnect
@ stub WlanDeleteProfile
@ stub WlanDisconnect
@ stub WlanEnumInterfaces
@ stdcall WlanEnumInterfaces (ptr ptr ptr)
@ stub WlanExtractPsdIEDataList
@ stdcall WlanFreeMemory (ptr)
@ stub WlanGetAvailableNetworkList
@ -22,7 +22,7 @@
@ stub WlanRegisterNotification
@ stub WlanRenameProfile
@ stub WlanSaveTemporaryProfile
@ stub WlanScan
@ stdcall WlanScan (ptr ptr ptr ptr ptr)
@ stub WlanSetAutoConfigParameter
@ stub WlanSetFilterList
@ stub WlanSetInterface

View file

@ -2,6 +2,9 @@
#define _NTDDNDIS_
#endif
#define OID_802_11_BSSID_LIST 0x0D010217
#define OID_802_11_BSSID_LIST_SCAN 0x0D01011A
typedef struct _NDIS_OBJECT_HEADER
{
UCHAR Type;
@ -9,4 +12,9 @@ typedef struct _NDIS_OBJECT_HEADER
USHORT Size;
} NDIS_OBJECT_HEADER, *PNDIS_OBJECT_HEADER;
typedef struct _NDIS_802_11_BSSID_LIST
{
ULONG NumberOfItems;
NDIS_WLAN_BSSID Bssid[1];
} NDIS_802_11_BSSID_LIST, *PNDIS_802_11_BSSID_LIST;

View file

@ -190,6 +190,8 @@ PVOID WINAPI WlanAllocateMemory(DWORD dwSize);
VOID WINAPI WlanFreeMemory(PVOID pMemory);
DWORD WINAPI WlanOpenHandle(IN DWORD dwClientVersion, PVOID pReserved, OUT DWORD *pdwNegotiatedVersion, OUT HANDLE *phClientHandle);
DWORD WINAPI WlanCloseHandle(IN HANDLE hClientHandle, PVOID pReserved);
DWORD WINAPI WlanEnumInterfaces(IN HANDLE hClientHandle, PVOID pReserved, OUT PWLAN_INTERFACE_INFO_LIST *ppInterfaceList);
DWORD WINAPI WlanScan(IN HANDLE hClientHandle, IN GUID *pInterfaceGuid, IN PDOT11_SSID pDot11Ssid, IN PWLAN_RAW_DATA pIeData, PVOID pReserved);
#endif
#ifdef __cplusplus