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

PLSA_AP_CALL_PACKAGE

コールバック

シグネチャ

NTSTATUS PLSA_AP_CALL_PACKAGE(
    void** ClientRequest,
    void* ProtocolSubmitBuffer,
    void* ClientBufferBase,
    DWORD SubmitBufferLength,
    void** ProtocolReturnBuffer,
    DWORD* ReturnBufferLength,
    INT* ProtocolStatus
);

パラメーター

フィールド型説明
ClientRequestvoid**LSA クライアントの要求を表す、不透明な LSA_CLIENT_REQUEST バッファーへのポインターです。
ProtocolSubmitBuffervoid*認証パッケージ固有のプロトコルメッセージを指定します。
ClientBufferBasevoid*クライアントプロセス内におけるプロトコルメッセージのアドレスを指定します。これは、ProtocolSubmitBuffer バッファー内のポインターを再マップする際に必要になる場合があります。
SubmitBufferLengthDWORDProtocolSubmitBuffer バッファーの長さをバイト単位で指定します。
ProtocolReturnBuffervoid**クライアントプロセス内の出力バッファーのアドレスを返します。認証パッケージは、 AllocateClientBuffer 関数を呼び出して、クライアントプロセス内にバッファーを割り当てる責任があります。このバッファーの内容は認証パッケージ固有です。
ReturnBufferLengthDWORD*ProtocolReturnBuffer バッファーの長さをバイト単位で返す ULONG へのポインターです。
ProtocolStatusINT*

NTSTATUS 値へのポインターです。関数が STATUS_SUCCESS を返した場合、ProtocolStatus には認証パッケージが設定した完了状態が返されます。ProtocolStatus の値は認証パッケージ固有です。

NTSTATUS コードの詳細については、Platform SDK に付属する Subauth.h ファイルを参照してください。

公式ドキュメント

LSA への信頼された接続を持つログオンアプリケーションが LsaCallAuthenticationPackage 関数を呼び出し、認証パッケージの識別子を指定したときに、ローカル セキュリティ機関 (LSA) によって呼び出されます。

LsaApCallPackage はログオンアプリケーションに対してのみ呼び出されます。SeTcbPrivilege 特権を持たないアプリケーションからの呼び出しは、代わりに、指定された認証パッケージの LsaApCallPackageUntrusted 関数へ転送されます。

戻り値

関数が成功した場合は STATUS_SUCCESS を返します。この戻り値は、認証パッケージが要求されたサービスの提供を試みたことを示します。サービス要求の完了状態を返すには、ProtocolStatus パラメーターを使用します。

認証パッケージが要求を処理できず、そのため要求されたサービスの提供を試みなかった場合は、問題を示す NTSTATUS コードを返します。このコードには、次の値または LSA ポリシー関数の戻り値 のいずれかを指定できます。

戻り値 説明
STATUS_NO_MEMORY
クライアントのメモリクォータが不足しており、出力バッファーを割り当てられません。

解説(Remarks)

この関数は認証パッケージによって実装される必要があります。

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