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 ポリシー関数の戻り値のいずれかを指定できます。

リターン コード 説明
STATUS_NO_MEMORY
クライアントのメモリ クォータは、出力バッファーを割り当てるには不十分です。

解説

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

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー ntsecpkg.h

関連項目

AllocateClientBuffer

LsaApCallPackageUntrusted

LsaCallAuthenticationPackage