PPP_EAP_OUTPUT 構造体 (raseapif.h)
認証プロトコルは、PPP_EAP_OUTPUT構造体を使用して、RasEapMakeMessage への呼び出しからのリターン時に要求と状態情報を接続マネージャーに通信します。
構文
typedef struct _PPP_EAP_OUTPUT {
DWORD dwSizeInBytes;
PPP_EAP_ACTION Action;
DWORD dwAuthResultCode;
RAS_AUTH_ATTRIBUTE *pUserAttributes;
BOOL fInvokeInteractiveUI;
PBYTE pUIContextData;
DWORD dwSizeOfUIContextData;
BOOL fSaveConnectionData;
PBYTE pConnectionData;
DWORD dwSizeOfConnectionData;
BOOL fSaveUserData;
PBYTE pUserData;
DWORD dwSizeOfUserData;
NgcTicketContext *pNgcKerbTicket;
BOOL fSaveToCredMan;
} PPP_EAP_OUTPUT, *PPPP_EAP_OUTPUT;
メンバー
dwSizeInBytes
この構造体のサイズを指定します。
Action
PPP_EAP_ACTION値を指定します。 接続マネージャーは、認証プロトコルに代わってこのアクションを実行します。
dwAuthResultCode
認証が成功したかどうかを指定します。 dwAuthResultCode の 0 以外の値は、エラーを示します。 エラー コードは、Winerror.h、Raserror.h、または Mprerror.h から取得する必要があります。 このメンバーは、 Action メンバーの値が EAPACTION_Done または EAPACTION_SendAndDone の場合にのみ有効です。
pUserAttributes
RAS_AUTH_ATTRIBUTE構造体の省略可能な配列へのポインター。 配列は、raatMinimum の値を持つ raaType メンバーを持つ構造体によって終了されます (RAS_AUTH_ATTRIBUTE_TYPE参照)。
このメンバーは、Action がEAPACTION_Authenticateされている場合、または Action がEAPACTION_DoneまたはEAPACTION_SendAndDoneで dwAuthResultCode が 0 の場合に、認証側で設定する必要があります。
Action がEAPACTION_Authenticateされている場合、配列には、ユーザーの認証に必要な追加の属性 (user-password など) が含まれている場合があります。 認証プロトコルがユーザー名のみを渡す場合、RAS は認証プロバイダーを呼び出してユーザーを認証しません。代わりに、RAS はユーザーの現在の属性を返すだけです。
Action がEAPACTION_DoneまたはEAPACTION_SendAndDoneで、dwAuthResultCode が 0 の場合、配列にはユーザーに割り当てる追加の属性が含まれる場合があります。 これらの属性は、認証プロバイダーによって返されるのと同じ型の属性を上書きします。
認証プロトコルは、 RasEapEnd 関数でこのメモリを解放します。
fInvokeInteractiveUI
RAS が認証プロトコルの対話型 UI を呼び出す必要があるかどうかを指定します。 認証プロトコルによってこのメンバーが TRUE に設定されている場合、RAS は、認証プロトコルによって提供される RasEapInvokeInteractiveUI 関数を呼び出すことによって、対話型 UI を呼び出します。
pUIContextData
RAS が RasEapInvokeInteractiveUI の呼び出しで渡す必要があるコンテキスト データへのポインター。 認証プロトコルは 、RasEapEnd の実装でこのメモリを解放する必要があります。
dwSizeOfUIContextData
RasEapInvokeInteractiveUI の呼び出しで RAS が渡すコンテキスト データのサイズを指定します。
fSaveConnectionData
pConnectionData メンバーが指す情報を RAS で保存するかどうかを指定します。 fSaveConnectionData が TRUE の場合、RAS は電話帳にデータを保存します。 認証されているプロセスに対してのみ有効です。
pConnectionData
接続に固有のデータ、つまり特定のユーザーに固有ではないデータを識別します。 fSaveConnectionData メンバーが TRUE の場合、RAS は電話帳に接続データを保存します。 認証プロトコルは、 RasEapEnd の呼び出し中に、このデータによって占有されるメモリを解放する必要があります。
dwSizeOfConnectionData
pConnectionData メンバーが指すデータのサイズをバイト単位で指定します。
fSaveUserData
RAS が pUserData メンバーが指すユーザー データを保存するかどうかを指定します。 このパラメーターが TRUE の場合、RAS はユーザー固有のデータを レジストリの HKEY_CURRENT_USER の下に保存します。
pUserData
RAS がレジストリに保存する必要があるユーザー データへのポインター。 RAS は、このデータを HKEY_CURRENT_USERの下のレジストリに保存します。 認証プロトコルは 、RasEapEnd の呼び出し中にこのメモリを解放する必要があります。
dwSizeOfUserData
pUserData が指すデータのサイズをバイト単位で指定します。
pNgcKerbTicket
fSaveToCredMan
注釈
RasEapMakeMessage 関数を使用して、認証プロトコルと接続マネージャーの間でPPP_EAP_OUTPUT構造を渡します。
認証プロトコルでは、 PPP_EAP_OUTPUT 構造を使用して、Microsoft Point-to-Point Encryption (MPPE) セッション キーを返すことができます。 認証プロトコルでは、 raatVendorSpecific 型の属性の値フィールド内に含まれるサブ属性の値フィールドにセッション キーを配置する必要があります ( RAS_AUTH_ATTRIBUTE_TYPE参照)。 サブ属性には、Vendor-ID が 311 (Microsoft) で、Vendor-Type が MS-MPPE-Recv-Keys (17) と MS-MPPE-Send-Keys (16) である必要があります。 認証プロトコルでは、raatVendorSpecific 属性を指す pUserAttributes メンバーを設定し、Action メンバーを EAPACTION_Done または EAPACTION_SendAndDone に設定する必要があります。 MPPE サブ属性の形式の詳細については、「 Microsoft ベンダー固有の RADIUS 属性」を参照してください。 属性形式の詳細については、「 RAS_AUTH_ATTRIBUTE、 RAS_AUTH_ATTRIBUTE_TYPE、 RFC 2865」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | raseapif.h |