ホーム › Security.Authentication.Identity › SpAcceptLsaModeContextFn
SpAcceptLsaModeContextFn
コールバックシグネチャ
NTSTATUS SpAcceptLsaModeContextFn(
UINT_PTR CredentialHandle,
UINT_PTR ContextHandle,
SecBufferDesc* InputBuffer,
DWORD ContextRequirements,
DWORD TargetDataRep,
UINT_PTR* NewContextHandle,
SecBufferDesc* OutputBuffer,
DWORD* ContextAttributes,
LONGLONG* ExpirationTime,
BOOLEAN* MappedContext,
SecBuffer* ContextData
);パラメーター
| フィールド | 型 | 説明 | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CredentialHandle | UINT_PTR | 省略可能。コンテキストに使用する資格情報のハンドルです。 | ||||||||||||||||||||||||||||||
| ContextHandle | UINT_PTR | 省略可能。現在のコンテキストのハンドルです。 | ||||||||||||||||||||||||||||||
| InputBuffer | SecBufferDesc* | クライアントからの情報を格納した SecBufferDesc 構造体へのポインターです。 | ||||||||||||||||||||||||||||||
| ContextRequirements | DWORD | コンテキストの要件を示すフラグです。有効な値を次の表に示します。
| ||||||||||||||||||||||||||||||
| TargetDataRep | DWORD | 使用するデータ表現 (バイトオーダーなど) を示すフラグです。SECURITY_NATIVE_DREP または SECURITY_NETWORK_DREP が格納されます。 | ||||||||||||||||||||||||||||||
| NewContextHandle | UINT_PTR* | LSA_SEC_HANDLE へのポインターです。 AcceptSecurityContext の最初の呼び出しでは、このポインターが新しいコンテキストハンドルを受け取ります。2 回目以降の呼び出しでは、NewContextHandle は ContextHandle パラメーターで指定したハンドルと同じものでもかまいません。 | ||||||||||||||||||||||||||||||
| OutputBuffer | SecBufferDesc* | クライアントに送信する情報を受け取る SecBufferDesc 構造体へのポインターです。 | ||||||||||||||||||||||||||||||
| ContextAttributes | DWORD* | サーバーがサポートするコンテキスト属性を指定するフラグへのポインターです。有効な値の一覧については、ContextRequirements パラメーターを参照してください。 | ||||||||||||||||||||||||||||||
| ExpirationTime | LONGLONG* | コンテキストの有効期限を受け取る TimeStamp へのポインターです。 | ||||||||||||||||||||||||||||||
| MappedContext | BOOLEAN* | ブール値へのポインターです。セキュリティパッケージがユーザーモードの SSP/AP 関数を実装している場合は、MappedContext に TRUE を設定します。 | ||||||||||||||||||||||||||||||
| ContextData | SecBuffer* | 省略可能。ユーザーモードのセキュリティコンテキストを作成する際にコピーする、コンテキスト固有のデータを受け取る SecBuffer 構造体へのポインターです。ContextData のメモリは AllocateLsaHeap 関数を使用して割り当てる必要があります。メモリは Local Security Authority (LSA) によって解放されます。 |
公式ドキュメント
サーバーとクライアントが共有するセキュリティコンテキストを作成するために使用される、サーバー側のディスパッチ関数です。
SpAcceptLsaModeContext 関数は、サーバーが Security Support Provider Interface の AcceptSecurityContext (General) 関数を呼び出したときに呼び出されます。
戻り値
SpAcceptLsaModeContext 関数が成功し、セキュリティコンテキストの確立に追加の処理が不要な場合は、STATUS_SUCCESS を返します。追加の処理が必要な場合は、SEC_I_CONTINUE_NEEDED を返します。
それ以外の理由でセキュリティコンテキストの作成に失敗した場合は、その理由を示す NTSTATUS コードを返します。
解説(Remarks)
SpInitLsaModeContext は、セキュリティコンテキストを作成するためのクライアント側の関数です。
SSP/AP は SpAcceptLsaModeContext 関数を実装する必要があります。実装に付ける実際の名前は開発者が決定します。
SpAcceptLsaModeContext 関数へのポインターは、 SpLsaModeInitialize 関数から受け取る SECPKG_FUNCTION_TABLE 構造体に格納されています。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)