LSA_GET_CREDENTIALS コールバック関数 (ntsecpkg.h)
ログオン セッションに関連付けられている資格情報を取得します。
この関数は、Kerberos などの新しい認証パッケージでは使用されません。
構文
LSA_GET_CREDENTIALS LsaGetCredentials;
NTSTATUS LsaGetCredentials(
[in] PLUID LogonId,
[in] ULONG AuthenticationPackage,
[in, out] PULONG QueryContext,
[in] BOOLEAN RetrieveAllCredentials,
[in, out] PLSA_STRING PrimaryKeyValue,
[out] PULONG PrimaryKeyLength,
[out] PLSA_STRING Credentials
)
{...}
パラメーター
[in] LogonId
資格情報の取得元となるログオン セッションのセッション ID を含む LUID 構造体へのポインター。
[in] AuthenticationPackage
呼び出し元の認証パッケージの認証パッケージ ID。 認証パッケージは、独自の資格情報のみを取得する必要があります。
[in, out] QueryContext
複数の資格情報を取得するために連続する呼び出しで使用される符号なし LONG 値へのポインター。 この関数を初めて使用するときは、この引数が指す値を 0 にする必要があります。 その後、この値は更新され、中断された場所で取得を続行できるようになります。 したがって、この値は、特定のクエリ操作のすべての資格情報が取得されるまで変更しないでください。
[in] RetrieveAllCredentials
指定したログオン セッションのすべての資格情報を取得するか (TRUE)、または指定した PrimaryKeyValue (FALSE) に一致する資格情報のみを取得するかを示します。
[in, out] PrimaryKeyValue
このパラメーターは、2 つの目的を果たします。 RetrieveAllCredentials パラメーターがFALSE の場合、この文字列には主参照キーとして使用する値が含まれます。 この場合、この値に一致する主参照キーを持つ正しいログオン セッションに属する資格情報のみが取得されます。
RetrieveAllCredentials が TRUE の場合、入力時のこの文字列の値は無視され、取得された各資格情報の主参照キーがこの文字列で返されます。
[out] PrimaryKeyLength
RetrieveAllCredentials パラメーターが TRUE の場合、このパラメーターは PrimaryKeyValue 文字列を格納するために必要な長さを受け取ります。
[out] Credentials
取得した資格情報を受け取るバッファーへのポインター。 呼び出しごとに取得される資格情報は 1 つだけです。 資格情報は、 AllocateLsaHeap 関数を呼び出すことによって関数が割り当てるバッファーで返されます。 FreeLsaHeap を呼び出すことによって、資格情報バッファーが不要になったら解放するのは呼び出し元の責任です。
戻り値
関数が成功した場合、この関数は NTSTATUS コード STATUS_SUCCESSを返し、資格情報が正常に取得されたことを示します。
関数が失敗した場合、戻り値は NTSTATUS コードであり、次の値のいずれか、または LSA ポリシー関数の戻り値のいずれかになります。
リターン コード | 説明 |
---|---|
|
これ以上の資格情報は使用できません。 このコードが最初の呼び出しで返された場合、選択条件に一致する資格情報はありません。 |
|
PrimaryKeyValue を受け取るために指定された文字列は、データを保持するのに十分な大きさではありません。 この場合、データは取得されず、 QueryContext 値は変更されません。 これにより、より大きな文字列バッファーを使用して同じ呼び出しを再度実行できます。 |
|
指定されたログオン セッションが見つかりませんでした。 |
LsaNtStatusToWinError 関数は、NTSTATUS コードを Windows エラー コードに変換します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | ntsecpkg.h |