-add some more WLAN types

-add wlansvc.idl

svn path=/trunk/; revision=40047
This commit is contained in:
Christoph von Wittich 2009-03-15 19:48:56 +00:00
parent 2ce97e2c16
commit 1ed252413b
6 changed files with 414 additions and 21 deletions

View file

@ -0,0 +1,17 @@
#ifndef EAPTYPES_H
#define EAPTYPES_H
typedef struct _EAP_TYPE
{
BYTE type;
DWORD dwVendorId;
DWORD dwVendorType;
} EAP_TYPE, *PEAP_TYPE;
typedef struct _EAP_METHOD_TYPE
{
EAP_TYPE eapType;
DWORD dwAuthorId;
} EAP_METHOD_TYPE, *PEAP_METHOD_TYPE;
#endif

View file

@ -0,0 +1,16 @@
#ifndef _L2CMN_H
#define _L2CMN_H
typedef struct _L2_NOTIFICATION_DATA {
DWORD NotificationSource;
DWORD NotificationCode;
GUID InterfaceGuid;
DWORD dwDataSize;
#if defined(__midl) || defined(__WIDL__)
[unique, size_is(dwDataSize)] PBYTE pData;
#else
PVOID pData;
#endif
} L2_NOTIFICATION_DATA, *PL2_NOTIFICATION_DATA;
#endif

View file

@ -1,7 +1,9 @@
#ifndef _WLANAPI_H
#define _WLANAPI_H
#include <l2cmn.h>
#include <windot11.h>
#include <eaptypes.h>
#ifdef __cplusplus
extern "C" {
@ -13,6 +15,34 @@ extern "C" {
/* Enumerations */
#if defined(__midl) || defined(__WIDL__)
typedef [v1_enum] enum _WLAN_OPCODE_VALUE_TYPE {
#else
typedef enum _WLAN_OPCODE_VALUE_TYPE {
#endif
wlan_opcode_value_type_query_only = 0,
wlan_opcode_value_type_set_by_group_policy,
wlan_opcode_value_type_set_by_user,
wlan_opcode_value_type_invalid
} WLAN_OPCODE_VALUE_TYPE;
typedef enum _WLAN_SECURABLE_OBJECT {
wlan_secure_permit_list = 0,
wlan_secure_deny_list,
wlan_secure_ac_enabled,
wlan_secure_bc_scan_enabled,
wlan_secure_bss_type,
wlan_secure_show_denied,
wlan_secure_interface_properties,
wlan_secure_ihv_control,
wlan_secure_all_user_profiles_order,
wlan_secure_add_new_all_user_profiles,
wlan_secure_add_new_per_user_profiles,
wlan_secure_media_streaming_mode_enabled,
wlan_secure_current_operation_mode,
WLAN_SECURABLE_OBJECT_COUNT
} WLAN_SECURABLE_OBJECT, *PWLAN_SECURABLE_OBJECT;
typedef enum _WLAN_CONNECTION_MODE {
wlan_connection_mode_profile = 0,
wlan_connection_mode_temporary_profile,
@ -133,7 +163,7 @@ typedef struct _WLAN_AVAILABLE_NETWORK_LIST {
DWORD dwNumberOfItems;
DWORD dwIndex;
#if defined(__midl) || defined(__WIDL__)
[size_is(dwNumberOfItems)] WLAN_AVAILABLE_NETWORK Network[];
[size_is(dwNumberOfItems)] WLAN_AVAILABLE_NETWORK Network[*];
#else
WLAN_AVAILABLE_NETWORK Network[1];
#endif
@ -141,35 +171,21 @@ typedef struct _WLAN_AVAILABLE_NETWORK_LIST {
typedef struct _WLAN_CONNECTION_PARAMETERS {
WLAN_CONNECTION_MODE wlanConnectionMode;
[string] wchar_t * strProfile;
#if defined(__midl) || defined(__WIDL__)
[string] LPCWSTR strProfile;
#else
LPCWSTR strProfile;
#endif
PDOT11_SSID pDot11Ssid;
PDOT11_BSSID_LIST pDesiredBssidList;
DOT11_BSS_TYPE dot11BssType;
DWORD dwFlags;
} WLAN_CONNECTION_PARAMETERS, *PWLAN_CONNECTION_PARAMETERS;
typedef L2_NOTIFICATION_DATA WLAN_NOTIFICATION_DATA, *PWLAN_NOTIFICATION_DATA;
/* FIXME */
typedef struct _struct_8 {
DWORD elem_1;
DWORD elem_2;
GUID elem_3;
DWORD elem_4;
[size_is(elem_4)] LPBYTE elem_5;
} struct_8 ;
typedef struct struct_12 {
BYTE elem_1;
DWORD elem_2;
DWORD elem_3;
} struct_12 ;
typedef struct _struct_9 {
struct_12 elem_1;
DWORD elem_2;
} struct_9 ;
typedef struct struct_C {
ULONGLONG elem_1;
ULONGLONG elem_2;

View file

@ -0,0 +1,12 @@
#ifndef __WLANTYPES_H__
#define __WLANTYPES_H__
typedef enum _DOT11_BSS_TYPE {
dot11_BSS_type_infrastructure = 1,
dot11_BSS_type_independent,
dot11_BSS_type_any
} DOT11_BSS_TYPE;
#endif

View file

@ -27,4 +27,10 @@
<module name="lsa_client" type="rpcclient">
<file>lsa.idl</file>
</module>
<module name="wlansvc_server" type="rpcserver">
<file>wlansvc.idl</file>
</module>
<module name="wlansvc_client" type="rpcclient">
<file>wlansvc.idl</file>
</module>
</group>

View file

@ -0,0 +1,326 @@
/*
* WLAN Service interface definition
*/
#include <ms-dtyp.idl>
#include <wlanapi.h>
typedef [context_handle] PVOID WLANSVC_RPC_HANDLE;
typedef WLANSVC_RPC_HANDLE* LPWLANSVC_RPC_HANDLE;
[
uuid(266f33b4-c7c1-4bd1-8f52-ddb8f2214ea9),
version(1.0)
]
interface wlansvc_interface
{
/* Function: 0x00 */
DWORD _RpcOpenHandle(
[in] wchar_t * arg_1,
[in] DWORD dwClientVersion,
[in, out] DWORD* pdwNegotiatedVersion,
[in, out] LPWLANSVC_RPC_HANDLE phClientHandle);
/* Function: 0x01 */
DWORD _RpcCloseHandle(
[in, out] LPWLANSVC_RPC_HANDLE phClientHandle);
/* Function: 0x02 */
DWORD _RpcEnumInterfaces(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[out, ref] PWLAN_INTERFACE_INFO_LIST *ppInterfaceList);
/* Function: 0x03 */
DWORD _RpcSetAutoConfigParameter(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] /* enum32 */ long OpCode,
[in] DWORD dwDataSize,
[in][size_is(dwDataSize)] LPBYTE pData);
/* Function: 0x04 */
DWORD _RpcQueryAutoConfigParameter(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] /* enum32 */ DWORD OpCode,
[out] LPDWORD pdwDataSize,
[out][ref][size_is(*pdwDataSize)] char ** ppData,
[out] /* enum32 */ DWORD * pWlanOpcodeValueType);
/* Function: 0x05 */
DWORD _RpcGetInterfaceCapability(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[out, ref] PWLAN_INTERFACE_CAPABILITY *ppCapability);
/* Function: 0x06 */
DWORD _RpcSetInterface(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in] /* enum32 */ DWORD OpCode,
[in] DWORD dwDataSize,
[in, size_is(dwDataSize)] LPBYTE pData);
/* Function: 0x07 */
DWORD _RpcQueryInterface(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in] /* enum32 */ long OpCode,
[out] LPDWORD pdwDataSize,
[out][ref][size_is(*pdwDataSize)] LPBYTE* ppData,
[out] /* enum32 */ LPDWORD pWlanOpcodeValueType);
/* Function: 0x08 */
DWORD _RpcIhvControl(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in] /* enum32 */ DWORD Type,
[in] DWORD dwInBufferSize,
[in][size_is(dwInBufferSize)] LPBYTE pInBuffer,
[in] DWORD dwOutBufferSize,
[out][size_is(dwOutBufferSize), length_is(*pdwBytesReturned)] LPBYTE pOutBuffer,
[out] LPDWORD pdwBytesReturned);
/* Function: 0x09 */
DWORD _RpcScan(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in][unique] PDOT11_SSID pDot11Ssid,
[in][unique] PWLAN_RAW_DATA pIeData);
/* Function: 0x0A */
DWORD _RpcGetAvailableNetworkList(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in] DWORD dwFlags,
[out][ref] WLAN_AVAILABLE_NETWORK_LIST **ppAvailableNetworkList);
/* Function: 0x0B */
DWORD _RpcGetNetworkBssList(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in][unique] PDOT11_SSID pDot11Ssid,
[in] /* enum16 */ short dot11BssType,
[in] DWORD bSecurityEnabled,
[out] LPDWORD dwBssListSize,
[out][ref][size_is(*dwBssListSize)] LPBYTE *ppWlanBssList);
/* Function: 0x0C */
DWORD _RpcConnect(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in] PWLAN_CONNECTION_PARAMETERS* pConnectionParameters);
/* Function: 0x0D */
DWORD _RpcDisconnect(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGUID);
/* Function: 0x0E */
DWORD _RpcRegisterNotification(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] DWORD arg_2,
[out] LPDWORD pdwPrevNotifSource);
/* Function: 0x0F */
DWORD _RpcAsyncGetNotification(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[out][ref] PWLAN_NOTIFICATION_DATA *NotificationData);
/* Function: 0x10 */
DWORD _RpcSetProfileEapUserData(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in][string] wchar_t * strProfileName,
[in] EAP_METHOD_TYPE MethodType,
[in] DWORD dwFlags,
[in] DWORD dwEapUserDataSize,
[in][size_is(dwEapUserDataSize)] LPBYTE pbEapUserData);
/* Function: 0x11 */
DWORD _RpcSetProfile(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in] DWORD dwFlags,
[in][string] wchar_t * strProfileXml,
[in][unique][string] wchar_t * strAllUserProfileSecurity,
[in] BOOL bOverwrite,
[out] LPDWORD pdwReasonCode);
/* Function: 0x12 */
DWORD _RpcGetProfile(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in][string] wchar_t * strProfileName,
[out][ref][string] wchar_t ** pstrProfileXml,
[out] LPDWORD pdwFlags,
[in, out][unique] LPDWORD pdwGrantedAccess);
/* Function: 0x13 */
DWORD _RpcDeleteProfile(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in][string] wchar_t * strProfileName);
/* Function: 0x14 */
DWORD _RpcRenameProfile(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in][string] wchar_t * strOldProfileName,
[in][string] wchar_t * strNewProfileName);
/* Function: 0x15 */
DWORD _RpcSetProfileList(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in] DWORD dwItems,
[in] /* [string] */ [size_is(dwItems)] /* wchar_t */ BYTE ** strProfileNames); /* FIXME */
/* Function: 0x16 */
DWORD _RpcGetProfileList(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[out][ref] PWLAN_PROFILE_INFO_LIST *ppProfileList);
/* Function: 0x17 */
DWORD _RpcSetProfilePosition(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in][string] wchar_t * strProfileName,
[in] DWORD dwPosition);
/* Function: 0x18 */
DWORD _RpcSetProfileCustomUserData(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in][string] wchar_t * strProfileName,
[in] DWORD dwDataSize,
[in][unique][size_is(dwDataSize)] LPBYTE pData);
/* Function: 0x19 */
DWORD _RpcGetProfileCustomUserData(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in][string] wchar_t * strProfileName,
[out] LPDWORD dwDataSize,
[out][ref][size_is(*dwDataSize)] LPBYTE *pData);
/* Function: 0x1A */
DWORD _RpcSetFilterList(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] /* enum16 */ short wlanFilterListType,
[in][unique] PDOT11_NETWORK_LIST pNetworkList);
/* Function: 0x1B */
DWORD _RpcGetFilterList(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] /* enum16 */ short wlanFilterListType,
[out][ref] PDOT11_NETWORK_LIST *pNetworkList);
/* Function: 0x1C */
DWORD _RpcSetPsdIEDataList(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in][unique][string] wchar_t * strFormat,
[in] DWORD dwDataListSize,
[in][unique][size_is(dwDataListSize)] LPBYTE pPsdIEDataList);
/* Function: 0x1D */
DWORD _RpcSaveTemporaryProfile(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] GUID* pInterfaceGuid,
[in][string] wchar_t * strProfileName,
[in][unique][string] wchar_t * strAllUserProfileSecurity,
[in] DWORD dwFlags,
[in] BOOL bOverWrite);
/* Function: 0x1E, address: 0x2C992E36 */
DWORD _RpcIsUIRequestPending(
[in] wchar_t * arg_1,
[in] GUID* pInterfaceGuid,
[in] struct_C * arg_3,
[out] LPDWORD arg_4);
/* Function: 0x1F, address: 0x2C992EB3 */
DWORD _RpcSetUIForwardingNetworkList(
[in] wchar_t * arg_1,
[in][size_is(dwSize)] GUID* arg_2,
[in] DWORD dwSize,
[out] GUID* arg_4);
/* Function: 0x20 */
DWORD _RpcIsNetworkSuppressed(
[in] wchar_t * arg_1,
[in] DWORD arg_2,
[in] GUID* pInterfaceGuid,
[out] LPDWORD arg_4);
/* Function: 0x21 */
DWORD _RpcRemoveUIForwardingNetworkList(
[in] wchar_t * arg_1,
[in] GUID* pInterfaceGuid);
/* Function: 0x22 */
DWORD _RpcQueryExtUIRequest(
[in] wchar_t * arg_1,
[in] GUID* arg_2,
[in] GUID* arg_3,
[in] /* enum16 */ short arg_4,
[out] GUID* pInterfaceGuid,
[out][ref] struct_C ** arg_6);
/* Function: 0x23 */
DWORD _RpcUIResponse(
[in] wchar_t * arg_1,
[in] struct_C * arg_2,
[in] struct_D * arg_3);
/* Function: 0x24 */
DWORD _RpcGetProfileKeyInfo(
[in] wchar_t * arg_1,
[in] DWORD arg_2,
[in] GUID* pInterfaceGuid,
[in][string] wchar_t * arg_4,
[in] DWORD arg_5,
[out] LPDWORD arg_6,
[in, out][unique][size_is(arg_5)] char * arg_7,
[out] LPDWORD arg_8);
/* Function: 0x25 */
DWORD _RpcAsyncDoPlap(
[in] wchar_t * arg_1,
[in] GUID* pInterfaceGuid,
[in][string] wchar_t * arg_3,
[in] DWORD dwSize,
[in][size_is(dwSize)] struct_E arg_5[]);
/* Function: 0x26 */
DWORD _RpcQueryPlapCredentials(
[in] wchar_t * arg_1,
[out] LPDWORD dwSize,
[out][ref][size_is(*dwSize)] struct_E ** arg_3,
[out][ref][string] wchar_t ** arg_4,
[out] GUID* pInterfaceGuid,
[out] LPDWORD arg_6,
[out] LPDWORD arg_7,
[out] LPDWORD arg_8,
[out] LPDWORD arg_9);
/* Function: 0x27 */
DWORD _RpcCancelPlap(
[in] wchar_t * arg_1,
[in] GUID* pInterfaceGuid);
/* Function: 0x28 */
DWORD _RpcSetSecuritySettings(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] WLAN_SECURABLE_OBJECT SecurableObject,
[in][string] wchar_t * strModifiedSDDL);
/* Function: 0x29 */
DWORD _RpcGetSecuritySettings(
[in] WLANSVC_RPC_HANDLE hClientHandle,
[in] WLAN_SECURABLE_OBJECT SecurableObject,
[out] WLAN_OPCODE_VALUE_TYPE *pValueType,
[out][ref][string] wchar_t ** pstrCurrentSDDL,
[out] LPDWORD pdwGrantedAccess);
}