Win32 API 日本語リファレンス
ホーム › Security.Authentication.Identity › PLSA_ALLOCATE_CLIENT_BUFFER

PLSA_ALLOCATE_CLIENT_BUFFER

コールバック

シグネチャ

NTSTATUS PLSA_ALLOCATE_CLIENT_BUFFER(
    void** ClientRequest,
    DWORD LengthRequired,
    void** ClientBaseAddress
);

パラメーター

フィールド型説明
ClientRequestvoid**LSA クライアントの認証要求に関する情報を格納する、不透明な LSA_CLIENT_REQUEST データ構造へのポインターです。カスタム認証パッケージは、出力パラメーターを返す LsaApCallPackage や LsaApLogonUser などの関数をクライアントが呼び出した際に受け取った値を渡す必要があります。
LengthRequiredDWORD必要なバッファーの長さ(バイト単位)。
ClientBaseAddressvoid**バッファーのアドレスを受け取るポインターです。このアドレスは、現在のプロセス内のアドレスではなく、クライアントプロセス内におけるバッファーの仮想アドレスです。

公式ドキュメント

クライアントのアドレス空間にバッファーを割り当てます。クライアントのアドレス空間に割り当てられたバッファーは、認証パッケージからクライアントに返される情報を保持するために使用されます。

戻り値

関数が成功した場合、戻り値は STATUS_SUCCESS です。

関数が失敗した場合、戻り値は NTSTATUS コードであり、次の値、または LSA ポリシー関数の戻り値 のいずれかになります。

リターンコード 説明
STATUS_NO_MEMORY
クライアントプロセスに、バッファーを割り当てるための十分なメモリクォータがありません。

LsaNtStatusToWinError 関数は、NTSTATUS コードを Windows エラーコードに変換します。

解説(Remarks)

認証パッケージまたはクライアントプロセスは、後でこのバッファーを解放する必要があります。認証プロセスは、 FreeClientBuffer ディスパッチルーチンを使用してバッファーを解放できます。クライアントプロセスは、 LsaFreeReturnBuffer 関数を使用してバッファーを解放できます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)