LSA_AP_CALL_PACKAGE コールバック関数 (ntsecpkg.h)
LSA への信頼された接続を持つログオン アプリケーションが LsaCallAuthenticationPackage 関数を呼び出し、認証パッケージの識別子を指定すると、ローカル セキュリティ機関 (LSA) によって呼び出されます。
LsaApCallPackage は、ログオン アプリケーションに対してのみ呼び出されます。SeTcbPrivilege 特権を持たないアプリケーションからの呼び出しは、代わりに、指定された認証パッケージの LsaApCallPackageUntrusted 関数にルーティングされます 。
構文
LSA_AP_CALL_PACKAGE LsaApCallPackage;
NTSTATUS LsaApCallPackage(
[in] PLSA_CLIENT_REQUEST ClientRequest,
[in] PVOID ProtocolSubmitBuffer,
[in] PVOID ClientBufferBase,
[in] ULONG SubmitBufferLength,
[out] PVOID *ProtocolReturnBuffer,
[out] PULONG ReturnBufferLength,
[out] PNTSTATUS ProtocolStatus
)
{...}
パラメーター
[in] ClientRequest
LSA クライアントの要求を表す不透明な LSA_CLIENT_REQUEST バッファーへのポインター。
[in] ProtocolSubmitBuffer
認証パッケージに固有のプロトコル メッセージを提供します。
[in] ClientBufferBase
プロトコル メッセージのクライアント プロセス内のアドレスを提供します。 これは、 ProtocolSubmitBuffer バッファー内のポインターを再マップするために必要な場合があります。
[in] SubmitBufferLength
ProtocolSubmitBuffer バッファーの長さをバイト単位で指定します。
[out] ProtocolReturnBuffer
クライアント プロセス内の出力バッファーのアドレスを返します。 認証パッケージは、 AllocateClientBuffer 関数を呼び出して、クライアント プロセス内でバッファーを割り当てる役割を担います。 このバッファーの内容は、認証パッケージに固有です。
[out] ReturnBufferLength
ProtocolReturnBuffer バッファーの長さをバイト単位で返す ULONG へのポインター。
[out] ProtocolStatus
NTSTATUS 値へのポインター。 関数がSTATUS_SUCCESSを返す場合、 ProtocolStatus は認証パッケージによって設定された完了状態を返します。 ProtocolStatus 値は認証パッケージに固有です。
NTSTATUS コードの詳細については、プラットフォーム SDK に付属の Subauth.h ファイルを参照してください。
戻り値
関数が成功した場合は、STATUS_SUCCESSを返します。 この戻り値は、認証パッケージが要求されたサービスを提供しようとしたことを示します。 ProtocolStatus パラメーターを使用して、サービス要求の完了状態を返します。
認証パッケージが要求を処理できなかったため、要求されたサービスを提供しようとしなかった場合は、問題を示す NTSTATUS コードを返します。 このコードには、次の値または LSA ポリシー関数の戻り値のいずれかを指定できます。
リターン コード | 説明 |
---|---|
|
クライアントのメモリ クォータは、出力バッファーを割り当てるには不十分です。 |
解説
この関数は、認証パッケージによって実装される必要があります。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | ntsecpkg.h |