LSA_ADD_CREDENTIAL コールバック関数 (ntsecpkg.h)
[AddCredential は、[要件] セクションで指定したオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 アプリケーションでは、メッセージの種類として指定された KerbAddExtraCredentialsMessage で LsaCallAuthenticationPackage 関数を使用する必要があります。 KerbAddExtraCredentialsMessage は KERB_PROTOCOL_MESSAGE_TYPE 列挙値です。]
ログオン セッションに資格情報を追加します。 これらの資格情報は、 後で GetCredentials 関数の呼び出しを通じて参照できます。
構文
LSA_ADD_CREDENTIAL LsaAddCredential;
NTSTATUS LsaAddCredential(
[in] PLUID LogonId,
[in] ULONG AuthenticationPackage,
[in] PLSA_STRING PrimaryKeyValue,
[in] PLSA_STRING Credentials
)
{...}
パラメーター
[in] LogonId
資格情報を追加するログオン セッションのセッション ID を含む LUID へのポインター。
[in] AuthenticationPackage
呼び出し元の認証パッケージの認証パッケージ ID。 この値は、DLL の初期化中に LsaApInitializePackage 呼び出しで受信されます。
[in] PrimaryKeyValue
認証パッケージが後で資格情報データの主キーとして参照する必要がある値を含む文字列。 これは、たとえば、資格情報が関連付けられているドメインまたはサーバーの名前を保持するために使用できます。 この文字列の形式と意味は、認証パッケージに固有です。 指定したログオン セッションであっても、文字列値を一意にする必要はありません。 たとえば、同じドメインに対して 2 つのパスワードがあり、それぞれに資格情報として格納されたパスワードと、主キーとして格納されているドメイン名があります。
[in] Credentials
ユーザーの資格情報を表す文字列。 この文字列の形式と意味は、認証パッケージに固有です。
戻り値
関数が成功した場合、関数はSTATUS_SUCCESSを返します。
関数が失敗した場合、 NTSTATUS コードが返されます。これは、次の値または LSA ポリシー関数の戻り値のいずれかになります。
リターン コード | 説明 |
---|---|
|
指定されたログオン セッションが見つかりませんでした。 |
LsaNtStatusToWinError 関数は、NTSTATUS コードを Windows エラー コードに変換します。
注釈
資格情報文字列の本文は自己相対である必要があります。つまり、資格情報の外部にメモリへのポインターを含めてはいけません。 資格情報がコピーされ、資格情報自体以外のポインターはコピーで有効ではなくなります。 特に、資格情報で参照される文字列には、UNICODE_STRING ヘッダーと本文の両方が資格情報バッファーに配置されている必要があります。 資格情報の本文内の文字列へのポインターをオフセットに変更する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | ntsecpkg.h |