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

PLSA_GET_CREDENTIALS

コールバック

シグネチャ

NTSTATUS PLSA_GET_CREDENTIALS(
    LUID* LogonId,
    DWORD AuthenticationPackage,
    DWORD* QueryContext,
    BOOLEAN RetrieveAllCredentials,
    LSA_STRING* PrimaryKeyValue,
    DWORD* PrimaryKeyLength,
    LSA_STRING* Credentials
);

パラメーター

フィールド型説明
LogonIdLUID*取得対象の資格情報が属するログオンセッションのセッション ID を格納した LUID 構造体へのポインターです。
AuthenticationPackageDWORD呼び出し元の認証パッケージの認証パッケージ ID です。認証パッケージは、自身の資格情報のみを取得する必要があります。
QueryContextDWORD*複数の資格情報を取得するために、連続した呼び出しをまたいで使用される符号なし LONG 値へのポインターです。この関数を最初に使用するときは、この引数が指す値を 0 にしてください。以降、この値は前回の続きから取得を再開できるように更新されます。そのため、ある問い合わせ操作のすべての資格情報を取得し終えるまで、この値を変更しないでください。
RetrieveAllCredentialsBOOLEAN指定したログオンセッションのすべての資格情報を取得するか (TRUE)、指定した PrimaryKeyValue に一致するものだけを取得するか (FALSE) を示します。
PrimaryKeyValueLSA_STRING*

このパラメーターには 2 つの用途があります。RetrieveAllCredentials パラメーターが FALSE の場合、この文字列には主検索キーとして使用する値を格納します。この場合、対象のログオンセッションに属し、かつ主検索キーがこの値と一致する資格情報のみが取得されます。

RetrieveAllCredentials が TRUE の場合、入力時のこの文字列の値は無視され、取得された各資格情報の主検索キーがこの文字列に返されます。

PrimaryKeyLengthDWORD*RetrieveAllCredentials パラメーターが TRUE の場合、このパラメーターは PrimaryKeyValue 文字列を格納するために必要な長さを受け取ります。
CredentialsLSA_STRING*取得した資格情報を受け取るバッファーへのポインターです。1 回の呼び出しにつき 1 つの資格情報のみが取得されます。資格情報は、この関数が AllocateLsaHeap 関数を呼び出して割り当てたバッファーに返されます。Credentials バッファーが不要になった時点で FreeLsaHeap を呼び出して解放するのは、呼び出し元の責任です。

公式ドキュメント

ログオンセッションに関連付けられた資格情報を取得します。

この関数は、Kerberos などの新しい認証パッケージでは使用されません。

戻り値

関数が成功した場合、資格情報が正常に取得されたことを示す NTSTATUS コード STATUS_SUCCESS を返します。

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

戻り値 説明
ERROR_GEN_FAILURE
利用できる資格情報がこれ以上ありません。最初の呼び出しでこのコードが返された場合は、選択条件に一致する資格情報が存在しません。
STATUS_MORE_ENTRIES
PrimaryKeyValue を受け取るために指定された文字列が、データを格納するのに十分な大きさではありませんでした。この場合、データは取得されず、QueryContext の値も変更されません。そのため、より大きな文字列バッファーを指定して同じ呼び出しを再度実行できます。
STATUS_NO_SUCH_LOGON_SESSION
指定されたログオンセッションが見つかりませんでした。

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

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