EAP_PEER_METHOD_ROUTINES 結構 (eapmethodpeerapis.h)
包含 EAPHost 對等方法 API 的一組函式指標。
語法
typedef struct _EAP_PEER_METHOD_ROUTINES {
DWORD dwVersion;
EAP_TYPE *pEapType;
DWORD((EAP_ERROR **ppEapError) * )EapPeerInitialize;
DWORD(lags,DWORD dwSizeofConnectionData, const BYTE *pConnectionData,DWORD dwSizeofUserData, const BYTE *pUserData,HANDLE hTokenImpersonateUser,BOOL *pfInvokeUI,DWORD *pdwSizeOfUserDataOut,BYTE **ppUserDataOut,WCHAR **ppwszIdentity,EAP_ERROR **ppEapError) * )(DWORD fEapPeerGetIdentity;
DWORD(RD dwFlags, const EapAttributes * const pAttributeArray,HANDLE hTokenImpersonateUser,DWORD dwSizeofConnectionData,BYTE *pConnectionData,DWORD dwSizeofUserData,BYTE *pUserData,DWORD dwMaxSendPacketSize,EAP_SESSION_HANDLE *pSessionHandle,EAP_ERROR **ppEapError) * )(DWOEapPeerBeginSession;
DWORD(AP_SESSION_HANDLE sessionHandle,WCHAR *pwszIdentity,WCHAR *pwszPassword,EAP_ERROR **ppEapError) * )(EEapPeerSetCredentials;
DWORD(AP_SESSION_HANDLE sessionHandle,DWORD cbReceivePacket,EapPacket *pReceivePacket,EapPeerMethodOutput *pEapOutput,EAP_ERROR **ppEapError) * )(EEapPeerProcessRequestPacket;
DWORD(AP_SESSION_HANDLE sessionHandle,DWORD *pcbSendPacket,EapPacket *pSendPacket,EAP_ERROR **ppEapError) * )(EEapPeerGetResponsePacket;
DWORD(EAP_SESSION_HANDLE sessionHandle,EapPeerMethodResultReason reason,EapPeerMethodResult *ppResult,EAP_ERROR **ppEapError) * )(EapPeerGetResult;
DWORD(P_SESSION_HANDLE sessionHandle,DWORD *dwSizeOfUIContextData,BYTE **pUIContextData,EAP_ERROR **ppEapError) * )(EAEapPeerGetUIContext;
DWORD(AP_SESSION_HANDLE sessionHandle,DWORD dwSizeOfUIContextData, const BYTE *pUIContextData,EapPeerMethodOutput *pEapOutput,EAP_ERROR **ppEapError) * )(EEapPeerSetUIContext;
DWORD(EAP_SESSION_HANDLE sessionHandle,EapAttributes *pAttribs,EAP_ERROR **ppEapError) * )(EapPeerGetResponseAttributes;
DWORD(AP_SESSION_HANDLE sessionHandle,EapAttributes *pAttribs,EapPeerMethodOutput *pEapOutput,EAP_ERROR **ppEapError) * )(EEapPeerSetResponseAttributes;
DWORD((EAP_SESSION_HANDLE sessionHandle,EAP_ERROR **ppEapError) * )EapPeerEndSession;
DWORD((EAP_ERROR **ppEapError) * )EapPeerShutdown;
} EAP_PEER_METHOD_ROUTINES;
成員
dwVersion
實作者定義的結構版本。
pEapType
EAP_TYPE 結構的指標 ,其中包含此結構成員所指向之 API 實作者的廠商資訊。
EapPeerInitialize
EapPeerInitialize 的函式指標。
pEapError
EAP_ERROR 結構的指標,其中包含執行此函式呼叫期間引發的任何錯誤。 取用錯誤數據之後,必須將指標傳遞至 EapPeerFreeErrorMemory 來釋放此記憶體。
EapPeerGetIdentity
EapPeerGetIdentity 的函式指標。
dwflags
dwSizeofConnectionData
指定 pConnectionData 中提供之連接數據緩衝區的大小,以位元組為單位
pConnectionData
位元組緩衝區的指標,其中包含不透明的組態數據 BLOB。
dwSizeOfUserData
指定 pUserData 中提供之用戶數據緩衝區的大小,以位元組為單位。
pUserData
用於預先填入用戶數據之此驗證的特定用戶數據的指標。 第一次呼叫此 API 時,或新驗證工作階段啟動時,此參數為 NULL。 否則,請將此參數設定為 EapPeerGetResult 所接收之 ppResult 參數所指向之結構的 pUserData 成員。
hTokenImpersonateUser
指定要驗證之用戶的模擬令牌句柄。 執行計算機驗證時,此句柄將會是 NULL 。 透過使用此句柄,EAP 方法可以模擬使用者,以取得使用者特定資訊,例如用戶名稱、功能變數名稱和認證。
pfInvokeUI
如果未成功傳回使用者身分識別和用戶數據 Blob,則傳回 TRUE ,而且方法會嘗試透過使用者介面對話框從使用者收集資訊。
pdwSizeOfUserDataOut
指定 ppUserDataOut 緩衝區的大小,以位元組為單位。
ppUserDataOut
傳回之用戶數據的指標。 數據會以輸入 pUserData 的形式傳遞至 EapPeerBeginSession。
ppwszIdentity
傳回之使用者身分識別的指標。 指標會包含在身分識別回應封包中,並傳回至伺服器。
ppEapError
指向 EAP_ERROR 結構的指標,其中包含執行此函式呼叫期間引發的任何錯誤。 取用錯誤數據之後,必須呼叫 EapPeerFreeErrorMemory 來釋放此記憶體。
EapPeerBeginSession
EapPeerBeginSession 的函式指標。
dwFlags
描述新 EAP 驗證會話行為的 EAP 旗標 組合。
pAttributeArray
EAP_ATTRIBUTES數位結構的指標,指定要驗證之實體的 EAP 屬性。
hTokenImpersonateUser
指定要在此工作階段中使用的用戶模擬令牌句柄。
dwSizeOfConnectionData
指定 pConnectionData 中提供之連接數據緩衝區的大小,以位元組為單位。
pConnectionData
位元組緩衝區的指標,其中包含不透明的組態數據 BLOB。
dwSizeOfUserData
指定 pUserData 中提供的用戶數據緩衝區位元組大小。
pUserData
包含不透明用戶數據 BLOB 的位元組緩衝區指標。
dwMaxSendPacketSize
指定會話期間傳送之 EAP 封包位元組的大小上限。 如果方法必須傳送大於大小上限的封包,則方法必須容納片段並重新組譯。
pSessionHandle
EAP_SESSION_HANDLE 結構的指標,其中包含EAPHost上新EAP驗證會話的唯一標識符
ppEapError
EAP_ERROR 結構的位址 指標,此結構包含執行此函式呼叫期間 EAPHost 引發的任何錯誤。 取用錯誤數據之後,必須呼叫 EapPeerFreeErrorMemory 來釋放此記憶體。
EapPeerSetCredentials
EapPeerSetCredentials 的函式指標。
sessionHandle
EAP_SESSION_HANDLE 結構的指標,其中包含EAPHost伺服器上這個EAP驗證會話的唯一句柄。 這個句柄會在先前呼叫 EapPeerBeginSession 的 pSessionHandle 參數中傳回。
pwszIdentity
指標,指定要設定認證的使用者身分識別。 呼叫 EapPeerGetIdentity 函式即可取得此用戶識別字串。
pwszPassword
指標,其中包含使用者身分識別的純文本密碼。
ppEapError
EAP_ERROR 結構的位址 指標,其中包含執行此函式呼叫期間引發的任何錯誤。 取用錯誤數據之後,必須呼叫 EapPeerFreeErrorMemory 來釋放此記憶體。
EapPeerProcessRequestPacket
EapPeerProcessRequestPacket 的函式指標。
sessionHandle
EAP_SESSION_HANDLE 值,其中包含 EAPHost 上 EAP 驗證會話的特定句柄。 這個句柄是由 先前呼叫 EapPeerBeginSession 取得。
cbReceivePacket
pReceivePacket 中指定的要求封包位元組大小。
pReceivePacket
EapPacket 結構的指標,其中包含要處理的要求封包。
pEapOutput
EapPeerMethodOutput 結構的指標,其中包含封包進程作業的輸出。
ppEapError
EAP_ERROR 結構的位址 指標,其中包含執行此函式呼叫期間引發的任何錯誤。 取用錯誤數據之後,必須呼叫 EapPeerFreeErrorMemory 來釋放此記憶體。
EapPeerGetResponsePacket
EapPeerGetResponsePacket 的函式指標。
sessionHandle
EAP_SESSION_HANDLE 值,其中包含 EAPHost 上 EAP 驗證會話的特定句柄。 這個句柄是由 先前呼叫 EapPeerBeginSession 取得。
azureSendPacket
值的指標,其中包含為回應封包配置的緩衝區大小以位元組為單位。 傳回時,此參數會以 pSendPacket 位元組為單位,接收實際大小的指標。
pSendPacket
包含回應封包之 EapPacket 結構的指標。
ppEapError
EAP_ERROR 結構的位址指標,其中包含此函數調用執行期間引發的任何錯誤。 取用錯誤數據之後,必須呼叫EapPeerFreeErrorMemory 來釋放此記憶體。
EapPeerGetResult
EapPeerGetResult 的函式指標。
sessionHandle
EAP_SESSION_HANDLE 值,其中包含 EAPHost 上 EAP 驗證會話的特定句柄。 這個句柄是由先前呼叫 EapPeerBeginSession 取得。
reason
列舉值,指定 ppResult 中傳回之驗證結果的原因碼。
ppResult
包含驗證結果的 EapHostPeerMethodResult 結構的指標。
ppEapError
EAP_ERROR 結構的位址指標,其中包含此函數調用執行期間引發的任何錯誤。 取用錯誤數據之後,必須將指標傳遞至 EapPeerFreeErrorMemory 來釋放此記憶體。
EapPeerGetUIContext
EapPeerGetUIContext 的函式指標。
sessionHandle
EAP_SESSION_HANDLE 值,其中包含 EAPHost 上 EAP 驗證會話的特定句柄。 這個句柄是由先前呼叫 EapPeerBeginSession 取得。
pdwSizeOfUIContextData
值的指標,指定 ppUIContextData中傳回的使用者介面內容數據位元組緩衝區大小。
ppUIContextData
位址的指標,其中包含來自 EAPHost 之要求使用者介面內容數據的位元元組緩衝區。
ppEapError
EAP_ERROR 結構的位址指標,其中包含此函數調用執行期間引發的任何錯誤。 取用錯誤數據之後,必須將錯誤數據的指標傳遞至 EapPeerFreeErrorMemory,以釋放此記憶體。
EapPeerSetUIContext
EapPeerSetUIContext 的函式指標。
sessionHandle
EAP_SESSION_HANDLE 值,其中包含 EAPHost 上 EAP 驗證會話的特定句柄。 這個句柄是由先前呼叫 EapPeerBeginSession 取得。
dwSizeOfUIContextData
值的指標,指定 pUIContextData 中提供的 UI 內容數據位元組緩衝區大小。
pUIContextData
包含位元組緩衝區的位址指標,其中包含EAPHost上要設定的新成功UI內容數據。
pEapOutput
EapPeerMethodOutput 結構的指標,其中包含封包進程作業的輸出。
ppEapError
EAP_ERROR 結構的位址指標,其中包含此函數調用執行期間引發的任何錯誤。 取用錯誤數據之後,必須將指標傳遞至 EapPeerFreeErrorMemory 來釋放此記憶體。
EapPeerGetResponseAttributes
EapPeerGetResponseAttributes 的函式指標。
sessionHandle
EAP_SESSION_HANDLE 值,其中包含 EAPHost 上 EAP 驗證會話的特定句柄。 這個句柄是由先前呼叫 EapPeerBeginSession 取得。
pAttribs
接收 EAP_ATTRIBUTES 結構的指標,其中包含支持專案的EAP驗證響應屬性陣列。
ppEapError
EAP_ERROR 結構的位址指標,其中包含此函數調用執行期間引發的任何錯誤。 取用錯誤數據之後,必須呼叫EapPeerFreeErrorMemory 來釋放此記憶體。
EapPeerSetResponseAttributes
EapPeerSetResponseAttributes 的函式指標。
sessionHandle
EAP_SESSION_HANDLE 值,其中包含 EAPHost 上 EAP 驗證會話的特定句柄。 這個句柄是由先前呼叫 EapPeerBeginSession 取得。
pAttribs
EAP_ATTRIBUTES 結構的指標,其中包含要為 EAPHost 上支援者設定的新 EAP 驗證響應屬性陣列。
pEapOutput
EapPeerMethodOutput 結構的指標,指定建議者應採取的動作作為更新屬性的回應。
ppEapError
EAP_ERROR 結構的位址指標,其中包含此函數調用執行期間引發的任何錯誤。 取用錯誤數據之後,必須呼叫 EapPeerFreeErrorMemory 來釋放此記憶體。
EapPeerEndSession
EapPeerEndSession 的函式指標。
sessionHandle
EAP_SESSION_HANDLE 值,其中包含 EAP 驗證會話在 EAPHost 上關閉的特定句柄。 這個句柄是由先前呼叫 EapPeerBeginSession 取得。
ppEapError
EAP_ERROR 結構的位址指標,其中包含此函數調用執行期間引發的任何錯誤。 取用錯誤數據之後,必須呼叫 EapPeerFreeErrorMemory 來釋放此記憶體。
EapPeerShutdown
EapPeerShutdown 的函式指標。
ppEapError
EAP_ERROR 結構的位址指標,其中包含此函數調用執行期間引發的任何錯誤。 取用錯誤數據之後,必須將指標傳遞至 EapPeerFreeErrorMemory 來釋放此記憶體。
備註
每個 EAP 方法 DLL 都必須實作下列 API:
- EapPeerInitialize
- EapPeerBeginSession
- EapPeerGetIdentity
- EapPeerSetCredentials
- EapPeerProcessRequestPacket
- EapPeerGetResponsePacket
- EapPeerGetResult
- EapPeerGetUIContext
- EapPeerSetUIContext
- EapPeerGetResponseAttributes
- EapPeerSetResponseAttributes
- EapPeerEndSession
- EapPeerShutdown
EAP 對等方法 API 集合中的其他函式是由對等型 EAPHost 呼叫,而不需要對應的支援呼叫,並用於連接驗證或使用者介面引發作業。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
標頭 | eapmethodpeerapis.h |