次の方法で共有


LSA_ADD_CREDENTIAL コールバック関数 (ntsecpkg.h)

[AddCredential は、[要件] セクションで指定したオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 アプリケーションでは、メッセージの種類として指定された KerbAddExtraCredentialsMessageLsaCallAuthenticationPackage 関数を使用する必要があります。 KerbAddExtraCredentialsMessageKERB_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 ポリシー関数の戻り値のいずれかになります。

リターン コード 説明
STATUS_NO_SUCH_LOGON_SESSION
指定されたログオン セッションが見つかりませんでした。
 

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

注釈

資格情報文字列の本文は自己相対である必要があります。つまり、資格情報の外部にメモリへのポインターを含めてはいけません。 資格情報がコピーされ、資格情報自体以外のポインターはコピーで有効ではなくなります。 特に、資格情報で参照される文字列には、UNICODE_STRING ヘッダーと本文の両方が資格情報バッファーに配置されている必要があります。 資格情報の本文内の文字列へのポインターをオフセットに変更する必要があります。

要件

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

こちらもご覧ください

GetCredentials

LSA_DISPATCH_TABLE

LSA_SECPKG_FUNCTION_TABLE