共用方式為


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

實作者定義的結構版本。

注意 Microsoft 不會定義此欄位的值。
 

pEapType

EAP_TYPE 結構的指標 ,其中包含此結構成員所指向之 API 實作者的廠商資訊。

EapPeerInitialize

EapPeerInitialize 的函式指標。

pEapError

EAP_ERROR 結構的指標,其中包含執行此函式呼叫期間引發的任何錯誤。 取用錯誤數據之後,必須將指標傳遞至 EapPeerFreeErrorMemory 來釋放此記憶體。

EapPeerGetIdentity

EapPeerGetIdentity 的函式指標。

dwflags

描述 EAP 驗證會話行為的 EAP 旗標組合。

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驗證會話的唯一句柄。 這個句柄會在先前呼叫 EapPeerBeginSessionpSessionHandle 參數中傳回。

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:

這些 API 會對應至要求者所進行的呼叫,並做為要求者 API 呼叫與 EAP 方法 DLL 上公開之公用 API 之間的 Proxy。 因此,當成功者呼叫對對等型 EAPHost 進行呼叫以建立驗證會話或在會話期間執行作業時,EAPHost 會使用所提供的參數數據,在 EAP 方法 DLL 上呼叫對應的實作函式。 EAP 方法函式是由其個別進入點的指標所管理。

EAP 對等方法 API 集合中的其他函式是由對等型 EAPHost 呼叫,而不需要對應的支援呼叫,並用於連接驗證或使用者介面引發作業。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
標頭 eapmethodpeerapis.h

另請參閱

EAPHost 對等方法結構

EapPeerGetInfo