RasSecurityDialogBegin 関数 (rasshost.h)
RasSecurityDialogBegin 関数は、リモート ユーザーが接続しようとしたときに RAS サーバーが呼び出すサードパーティの RAS セキュリティ DLL エントリ ポイントです。 これにより、セキュリティ DLL はリモート ユーザーの認証を開始できます。
構文
DWORD RasSecurityDialogBegin(
[in] HPORT hPort,
[in] PBYTE pSendBuf,
[in] DWORD SendBufSize,
[in] PBYTE pRecvBuf,
[in] DWORD RecvBufSize,
VOID(* )(SECURITY_MESSAGE *) RasSecurityDialogComplete
);
パラメーター
[in] hPort
RAS ポート ハンドルを指定します。 セキュリティ DLL は、 RasSecurityDialogSend や RasSecurityDialogReceive などの他の RAS セキュリティ機能でこのハンドルを使用して、この認証トランザクションを識別します。
このハンドルは RAS セキュリティ関数でのみ有効であることに注意してください。他の I/O 関数では使用しないでください。
[in] pSendBuf
RAS サーバーによって割り当てられたバッファーへのポインター。 セキュリティ DLL では、このバッファーを RasSecurityDialogSend 関数と共に使用して、リモート コンピューターの RAS ターミナル ウィンドウに表示されるテキストを送信します。
[in] SendBufSize
pSendBuf バッファーのサイズをバイト単位で指定します。
[in] pRecvBuf
RAS サーバーによって割り当てられたバッファーへのポインター。 セキュリティ DLL では、このバッファーを RasSecurityDialogReceive 関数と共に使用して、リモート ユーザーから応答を受信します。
[in] RecvBufSize
pRecvBuf バッファーのサイズをバイト単位で指定します。
RasSecurityDialogComplete
戻り値
セキュリティ DLL が認証操作を正常に開始した場合、 RasSecurityDialogBegin は NO_ERRORを返す必要があります。 この場合、セキュリティ DLL は、 後で RasSecurityDialogComplete パラメーターによって指される関数を呼び出して、認証トランザクションを終了する必要があります。
エラーが発生した場合、 RasSecurityDialogBegin は 0 以外のエラー コードを返す必要があります。 この場合、RAS サーバーは呼び出しをハングアップし、イベント ログにエラーを記録します。 0 以外のエラー コードを返すと認証トランザクションが終了するため、セキュリティ DLL は RasSecurityDialogComplete 関数を呼び出す必要はありません。
注釈
RAS サーバーは、リモート コンピューターから呼び出しを受信すると、登録済みの RAS セキュリティ DLL によってエクスポートされた RasSecurityDialogBegin 関数 (存在する場合) を呼び出します。 RAS サーバーはこの関数を呼び出すと、次の情報をセキュリティ DLL に渡します。
- 接続を識別するためのポート ハンドル
- リモート ユーザーと通信するときに使用するバッファーへのポインター
- 認証が完了したときに呼び出す RasSecurityDialogComplete 関数へのポインター
RasSecurityDialogBegin の実装は、RAS サーバーがブロックされ、RasSecurityDialogBegin が返されるまで他の呼び出しを受け入れることができないため、できるだけ早くを返す必要があります。 RasSecurityDialogBegin 関数は、入力パラメーターをコピーし、リモート ユーザーと通信して認証するためのスレッドを作成する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | rasshost.h |