📄 wzcsapi.h
字号:
#define EAPOL_VERSION_1 1
#define EAPOL_VERSION_2 2
#define EAPOL_VERSION_3 3
#define EAPOL_CURRENT_VERSION EAPOL_VERSION_3
//
// Structure : EAPOL_AUTH_DATA
//
typedef struct _EAPOL_AUTH_DATA
{
DWORD dwEapType;
DWORD dwSize;
BYTE bData[1];
} EAPOL_AUTH_DATA, *PEAPOL_AUTH_DATA;
DWORD
WZCGetEapUserInfo (
IN WCHAR *pwszGUID,
IN DWORD dwEapTypeId,
IN DWORD dwSizOfSSID,
IN BYTE *pbSSID,
IN OUT PBYTE pbUserInfo,
IN OUT DWORD *pdwInfoSize
);
// Structure used to define the UI Response.
// Currently it contains upto 3 blobs.
// If more are required, add to the structure
#define NUM_RESP_BLOBS 3
typedef struct _EAPOLUI_RESP
{
RAW_DATA rdData0;
RAW_DATA rdData1;
RAW_DATA rdData2;
} EAPOLUI_RESP, *PEAPOLUI_RESP;
//
// EAPOL Policy related parameters
//
#define EAPOL_CERT_TYPE_SMARTCARD 1
#define EAPOL_CERT_TYPE_MC_CERT 2
typedef struct _EAPOL_POLICY_DATA {
BYTE pbWirelessSSID[32];
DWORD dwWirelessSSIDLen;
DWORD dwEnable8021x;
DWORD dw8021xMode;
DWORD dwEAPType;
DWORD dwMachineAuthentication;
DWORD dwMachineAuthenticationType;
DWORD dwGuestAuthentication;
DWORD dwIEEE8021xMaxStart;
DWORD dwIEEE8021xStartPeriod;
DWORD dwIEEE8021xAuthPeriod;
DWORD dwIEEE8021xHeldPeriod;
DWORD dwEAPDataLen;
LPBYTE pbEAPData;
} EAPOL_POLICY_DATA, *PEAPOL_POLICY_DATA;
typedef struct _EAPOL_POLICY_LIST {
DWORD dwNumberOfItems;
EAPOL_POLICY_DATA EAPOLPolicy[1];
} EAPOL_POLICY_LIST, *PEAPOL_POLICY_LIST;
#if !defined(MIDL_PASS)
//---------------------------------------
// WZCEapolGetCustomAuthData: Get EAP-specific configuration data for interface
//
// Parameters:
// pSrvAddr:
// [in] WZC Server to contact
// pwszGuid:
// [in] Interface GUID
// dwEapTypeId:
// [in] EAP type Id
// dwSizeOfSSID:
// [in] Size of SSID for which data is to be stored
// pbSSID:
// [in] SSID for which data is to be stored
// pbConnInfo:
// [in out] Connection EAP info
// pdwInfoSize:
// [in out] Size of pbConnInfo
//
// Returned value:
// Win32 error code
DWORD
WZCEapolGetCustomAuthData (
IN LPWSTR pSrvAddr,
IN PWCHAR pwszGuid,
IN DWORD dwEapTypeId,
IN DWORD dwSizeOfSSID,
IN BYTE *pbSSID,
IN OUT PBYTE pbConnInfo,
IN OUT PDWORD pdwInfoSize
);
//---------------------------------------
// WZCEapolSetCustomAuthData: Set EAP-specific configuration data for interface
//
// Parameters:
// pSrvAddr:
// [in] WZC Server to contact
// pwszGuid:
// [in] Interface GUID
// dwEapTypeId:
// [in] EAP type Id
// dwSizeOfSSID:
// [in] Size of SSID for which data is to be stored
// pbSSID:
// [in] SSID for which data is to be stored
// pbConnInfo:
// [in] Connection EAP info
// pdwInfoSize:
// [in] Size of pbConnInfo
//
// Returned value:
// Win32 error code
DWORD
WZCEapolSetCustomAuthData (
IN LPWSTR pSrvAddr,
IN PWCHAR pwszGuid,
IN DWORD dwEapTypeId,
IN DWORD dwSizeOfSSID,
IN BYTE *pbSSID,
IN PBYTE pbConnInfo,
IN DWORD dwInfoSize
);
//---------------------------------------
// WZCEapolGetInterfaceParams: Get configuration parameters for interface
//
// Parameters:
// pSrvAddr:
// [in] WZC Server to contact
// pwszGuid:
// [in] Interface GUID
// pIntfParams:
// [in out] Interface Parameters
//
// Returned value:
// Win32 error code
DWORD
WZCEapolGetInterfaceParams (
IN LPWSTR pSrvAddr,
IN PWCHAR pwszGuid,
IN OUT EAPOL_INTF_PARAMS *pIntfParams
);
//---------------------------------------
// WZCEapolSetInterfaceParams: Set configuration parameters for interface
//
// Parameters:
// pSrvAddr:
// [in] WZC Server to contact
// pwszGuid:
// [in] Interface GUID
// pIntfParams:
// [in] Interface parameters
// Returned value:
// Win32 error code
DWORD
WZCEapolSetInterfaceParams (
IN LPWSTR pSrvAddr,
IN PWCHAR pwszGuid,
IN EAPOL_INTF_PARAMS *pIntfParams
);
//---------------------------------------
// WZCEapolReAuthenticate : Restart 802.1X authentication on an interface
//
// Parameters:
// pSrvAddr:
// [in] WZC Server to contact
// pwszGuid:
// [in] Interface GUID
// Returned value:
// Win32 error code
DWORD
WZCEapolReAuthenticate (
IN LPWSTR pSrvAddr,
IN PWCHAR pwszGuid
);
//---------------------------------------
// WZCEapolQueryState: Query the interface 802.1X/EAPOL state
//
// Parameters:
// pSrvAddr:
// [in] WZC Server to contact
// pwszGuid:
// [in] Interface GUID
// pIntfState:
// [in out] EAPOL Interface State
//
// Returned value:
// Win32 error code
DWORD
WZCEapolQueryState (
IN LPWSTR pSrvAddr,
IN PWCHAR pwszGuid,
IN OUT EAPOL_INTF_STATE *pIntfState
);
#endif // MIDL_PASS
//
// Free EAPOL interface state information on the client side obtained via
// RPC query
//
DWORD
WZCEapolFreeState (
IN EAPOL_INTF_STATE *pIntfState
);
//
// Structure: EAPOL_EAP_UI_CONTEXT
//
typedef struct _EAPOL_EAP_UI_CONTEXT
{
DWORD dwEAPOLUIMsgType;
WCHAR wszGUID[39];
DWORD dwSessionId;
DWORD dwContextId;
DWORD dwEapId;
DWORD dwEapTypeId;
DWORD dwEapFlags;
WCHAR wszSSID[MAX_SSID_LEN+1];
DWORD dwSizeOfSSID;
BYTE bSSID[MAX_SSID_LEN];
DWORD dwEAPOLState;
DWORD dwRetCode;
DWORD dwSizeOfEapUIData;
BYTE bEapUIData[1];
} EAPOL_EAP_UI_CONTEXT, *PEAPOL_EAP_UI_CONTEXT;
//
// Defines for messaging between Service and Dialog DLL
//
#define EAPOLUI_GET_USERIDENTITY 0x00000001
#define EAPOLUI_GET_USERNAMEPASSWORD 0x00000002
#define EAPOLUI_INVOKEINTERACTIVEUI 0x00000004
#define EAPOLUI_EAP_NOTIFICATION 0x00000008
#define EAPOLUI_REAUTHENTICATE 0x00000010
#define EAPOLUI_CREATEBALLOON 0x00000020
#define EAPOLUI_CLEANUP 0x00000040
#define EAPOLUI_DUMMY 0x00000080
#define NUM_EAPOL_DLG_MSGS 8
//---------------------------------------
// WZCEapolUIResponse: Send Dlg response to Service
//
// Parameters:
// pSrvAddr:
// [in] WZC Server to contact
// EapolUIContext:
// [in] EAPOLUI Context data
// EapolUI:
// [in] EAPOLUI response data
//
// Returned value:
// Win32 error code
DWORD
WZCEapolUIResponse (
IN LPWSTR pSrvAddr,
IN EAPOL_EAP_UI_CONTEXT EapolUIContext,
IN EAPOLUI_RESP EapolUIResp
);
#ifdef UNDER_CE
//
// In CE, CreateFile(ZEROCONFIG_DEVICE_NAME) then IOCTL to it..
//
#define ZEROCONFIG_DEVICE_NAME TEXT("ZCF1:")
#define FSCTL_ZC_BASE FILE_DEVICE_NETWORK
#define _ZC_CTL_CODE(_Function, _Method, _Access) \
CTL_CODE(FSCTL_ZC_BASE, _Function, _Method, _Access)
#define IOCTL_ZC_ENUM_INTERFACES \
_ZC_CTL_CODE(0x300, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_ZC_QUERY_INTERFACE \
_ZC_CTL_CODE(0x301, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_ZC_SET_INTERFACE \
_ZC_CTL_CODE(0x302, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_ZC_REFRESH_INTERFACE \
_ZC_CTL_CODE(0x303, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_ZC_ENUM_EAP_EXTENSIONS \
_ZC_CTL_CODE(0x304, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_ZC_QUERY_CONTEXT \
_ZC_CTL_CODE(0x30A, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_ZC_SET_CONTEXT \
_ZC_CTL_CODE(0x30B, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_ZC_READ_COMPLETION \
_ZC_CTL_CODE(0x30C, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_ZC_PORT_INDICATION \
_ZC_CTL_CODE(0x30D, METHOD_BUFFERED, FILE_ANY_ACCESS)
typedef struct
{
DWORD dwNumIntfs;
DWORD dwBufferSize;
PBYTE pbBuffer;
} CE_ENUM_INTERFACE, *PCE_ENUM_INTERFACE;
typedef struct
{
DWORD dwInFlags;
DWORD dwOutFlags;
LPWSTR wszGuid;
DWORD dwBufferSize;
PBYTE pbBuffer;
} CE_QUERY_INTERFACE, *PCE_QUERY_INTERFACE;
typedef struct
{
DWORD dwInFlags;
DWORD dwOutFlags;
PINTF_ENTRY pIntf;
} CE_SET_INTERFACE, *PCE_SET_INTERFACE;
typedef struct
{
DWORD dwInFlags;
DWORD dwOutFlags;
PINTF_ENTRY pIntf;
} CE_REFRESH_INTERFACE, *PCE_REFRESH_INTERFACE;
typedef struct
{
DWORD dwNumExtensions;
DWORD dwBufferSize;
PBYTE pbBuffer;
} CE_ENUM_EAP_EXTENSIONS, *PCE_ENUM_EAP_EXTENSIONS;
typedef struct
{
PWCHAR pwszGuid;
DWORD dwEapTypeId;
RAW_DATA rdSSID;
RAW_DATA rdConnInfo;
} CE_EAPOL_CUSTOM_AUTH_DATA, *PCE_EAPOL_CUSTOM_AUTH_DATA;
typedef struct
{
PWCHAR pwszGuid;
EAPOL_INTF_PARAMS *pIntfParams;
} CE_EAPOL_INTERFACE_PARAMS, *PCE_EAPOL_INTERFACE_PARAMS;
typedef struct
{
EAPOL_EAP_UI_CONTEXT *pEapolUIContext;
EAPOLUI_RESP *pEapolUIResp;
} CE_EAPOL_UI_RESPONSE, *PCE_EAPOL_UI_RESPONSE;
#endif // UNDER_CE
DWORD
WZCElReadCompletionRoutineWifi(
LPWSTR pServerName,
PDOT11_RECEIVE_UPCALL pDot11RecvUpcall
);
#define WZC_PORTFLAGS_UP 0x00000001
#define WZC_PORTFLAGS_DOWN 0x00000002
#define WZC_PORTFLAGS_SUCCESSFUL_ROAM 0x00000004
#define WZC_PORTFLAGS_PEERMAC_AVAILABLE 0x00000008
typedef struct _WZC_PORT_INFO {
GUID gAdatperId;
RAW_DATA PeerMacAddress;
DWORD dwFlags;
} WZC_PORT_INFO, *PWZC_PORT_INFO;
DWORD
WzcPortIndication(
IN LPWSTR pServerName,
IN PWZC_PORT_INFO pWzcPortInfo
);
# ifdef __cplusplus
}
# endif
#endif // _WZCAPI_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -