次の方法で共有


対話型ユーザー インターフェイス

認証プロトコルを実装するベンダーでは、プロトコルの対話型ユーザー インターフェイス (UI) を指定することもできます。 対話型 UI を使用すると、認証プロトコルは、認証セッションのコース中に必要に応じてユーザーから追加情報を取得できます。

対話型 UI は、認証プロトコルと同じ DLL または別の DLL に実装できます。 また、対話型 UI を実装する DLL では、複数の認証プロトコルをサポートできます。 対話型 UI の DLL へのパスは、認証プロトコルのキーの下の RAS_EAP_VALUENAME_INTERACTIVEUI レジストリ値に格納されます。 このレジストリ値の作成の詳細に関する詳細については、「EAP のインストール」を参照してください。

対話型 UI の DLL では、次の関数のエントリ ポイントをエクスポートする必要があります。

RasEapInvokeInteractiveUI
RasEapFreeMemory

対話型ユーザー インターフェイスは、LOWORD (wParam) が IDCANCEL と等しい WM_COMMAND メッセージをサポートする必要があります。

対話型 UI を表示するには、認証プロトコルで、PPP_EAP_OUTPUT 構造の fInvokeInteractiveUI メンバーを TRUE に設定する必要があります。 認証プロトコルでは、必要に応じて、pUIContextData メンバーと dwSizeOfUIContextData メンバーを TRUE に設定することもできます。 認証サービスでは、これらのメンバーの値を使用して、対話型 UI にコンテキスト データを渡します。 認証プロトコルは、RasEapMakeMessage 関数のパラメーターとして PPP_EAP_OUTPUT 構造を返します。

認証サービスは、RasEapInvokeInteractiveUI を呼び出して対話型 UI を呼び出します。 その後、サービスは、以降の RasEapMakeMessage への呼び出しで対話型 UI によって返されるデータへのポインターを認証プロトコルに渡します。 ポインターは、PPP_EAP_INPUT 構造のメンバーとして渡されます。 RasEapMakeMessage が返されると、サービスは RasEapFreeMemory を呼び出して、情報によって占有されているメモリを解放します。 そのため、認証プロトコルは、RasEapMakeMessage の呼び出し中に情報をプライベート メモリ バッファーにコピーする必要があります。