次の方法で共有


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

この構造体のメンバーが指す API の実装者に関するベンダー情報を含むEAP_TYPE構造体へのポインター。

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

ユーザー ID とユーザー データ BLOB が正常に返されない場合に TRUE を返します。メソッドは、ユーザー インターフェイス ダイアログを使用してユーザーから情報を収集することを求めます。

pdwSizeOfUserDataOut

ppUserDataOut バッファーのサイズをバイト単位で指定します。

ppUserDataOut

返されたユーザー データへのポインターへのポインター。 データは、入力 pUserData として EapPeerBeginSession に渡されます。

ppwszIdentity

返されたユーザー ID へのポインター。 ポインターは ID 応答パケットに含まれ、サーバーに返されます。

ppEapError

この関数呼び出しの実行中に発生したエラーを含む 、EAP_ERROR 構造体へのポインターへのポインター。 エラー データを使用した後、 EapPeerFreeErrorMemory を呼び出してこのメモリを解放する必要があります。

EapPeerBeginSession

EapPeerBeginSession の関数ポインター。

dwFlags

新しい EAP 認証セッションの動作を記述する EAP フラグ の組み合わせ。

pAttributeArray

認証するエンティティの EAP 属性を指定する EAP_ATTRIBUTES 配列構造体へのポインター。

hTokenImpersonateUser

このセッションで使用するユーザー偽装トークンへのハンドルを指定します。

dwSizeOfConnectionData

pConnectionData で提供される接続データ バッファーのサイズをバイト単位で指定します。

pConnectionData

不透明な構成データ BLOB を含むバイト バッファーへのポインター。

dwSizeOfUserData

pUserData で提供されるユーザー データ バッファーのサイズをバイト単位で指定します。

pUserData

不透明なユーザー データ BLOB を含むバイト バッファーへのポインター。

dwMaxSendPacketSize

セッション中に送信される EAP パケットの最大サイズをバイト単位で指定します。 メソッドが最大サイズを超えるパケットを送信する必要がある場合、メソッドは断片化に対応し、再組み立てする必要があります。

pSessionHandle

EAPHost 上の新 しい EAP 認証セッションの一意の ID を含むEAP_SESSION_HANDLE構造体へのポインター

ppEapError

この関数呼び出しの実行中に EAPHost によって発生したエラーを含む EAP_ERROR構造体の アドレスへのポインター。 エラー データを使用した後、 EapPeerFreeErrorMemory を呼び出してこのメモリを解放する必要があります。

EapPeerSetCredentials

EapPeerSetCredentials の関数ポインター。

sessionHandle

EAPHost サーバー上のこの EAP 認証セッションの一意のハンドルを含む EAP_SESSION_HANDLE 構造体へのポインター。 このハンドルは、EapPeerBeginSession の以前の呼び出しで pSessionHandle パラメーターで返されます。

pwszIdentity

資格情報を設定するユーザー ID を指定するポインター。 このユーザー ID 文字列は、 EapPeerGetIdentity 関数を呼び出すことによって取得されます。

pwszPassword

ユーザー ID のクリア テキスト パスワードを含むポインター。

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 の以前の呼び出しによって取得されます。

pcbSendPacket

応答パケットに割り当てられたバッファーのサイズ (バイト単位) を含む値へのポインター。 戻り値の場合、このパラメーターは 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 認証応答属性の配列を含む EAP_ATTRIBUTES 構造体へのポインターを受け取ります。

ppEapError

この関数呼び出しの実行中に発生したエラーを含む EAP_ERROR 構造体のアドレスへのポインター。 エラー データを使用した後、EapPeerFreeErrorMemory を呼び出してこのメモリを解放する必要があります。

EapPeerSetResponseAttributes

EapPeerSetResponseAttributes の関数ポインター。

sessionHandle

EAP_SESSION_HANDLE EAPHost 上の EAP 認証セッションの特定のハンドルを含む値です。 このハンドルは、 EapPeerBeginSession の以前の呼び出しによって取得されます。

pAttribs

EAPHost 上のサ プリカントに設定する新しい EAP 認証応答属性の配列を含むEAP_ATTRIBUTES構造体へのポインター。

pEapOutput

更新された属性への応答としてサプリカントが実行する必要がある推奨アクションを指定する EapPeerMethodOutput 構造体へのポインター。

ppEapError

この関数呼び出しの実行中に発生したエラーを含む EAP_ERROR 構造体のアドレスへのポインター。 エラー データを使用した後、 EapPeerFreeErrorMemory を呼び出してこのメモリを解放する必要があります。

EapPeerEndSession

EapPeerEndSession の関数ポインター。

sessionHandle

EAPHost で閉じる EAP 認証セッションの特定のハンドルを含む値をEAP_SESSION_HANDLEします。 このハンドルは、 EapPeerBeginSession の以前の呼び出しによって取得されます。

ppEapError

この関数呼び出しの実行中に発生したエラーを含む EAP_ERROR 構造体のアドレスへのポインター。 エラー データを使用した後、 EapPeerFreeErrorMemory を呼び出してこのメモリを解放する必要があります。

EapPeerShutdown

EapPeerShutdown の関数ポインター。

ppEapError

この関数呼び出しの実行中に発生したエラーを含む EAP_ERROR 構造体のアドレスへのポインター。 エラー データを使用した後、 EapPeerFreeErrorMemory へのポインターを渡すことによって、このメモリを解放する必要があります。

注釈

各 EAP メソッド DLL は、次の API を実装する必要があります。

これらの API はサプリカントによって行われた呼び出しに対応し、サプリカントの API 呼び出しと EAP メソッド DLL で公開されているパブリック API との間のプロキシとして機能します。 したがって、サプリカントがピアベースの EAPHost を呼び出して認証セッションを確立するか、そのセッション中に操作を実行すると、EAPHost は、指定されたパラメーター データを使用して EAP メソッド DLL で対応する実装された関数を呼び出します。 EAP メソッド関数は、それぞれのエントリ ポイントへのポインターによって管理されます。

EAP ピア メソッド API セット内の他の関数は、対応するサプリカント呼び出しなしでピア ベースの EAPHost によって呼び出され、接続の検証またはユーザー インターフェイスの発生操作に使用されます。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header eapmethodpeerapis.h

こちらもご覧ください

EAPHost ピア メソッドの構造

EapPeerGetInfo