CredWriteDomainCredentialsA 関数 (wincred.h)
CredWriteDomainCredentials 関数は、ユーザーの資格情報セットにドメイン資格情報を書き込みます。 使用される資格情報セットは、現在のトークンのログオン セッションに関連付けられている資格情報セットです。 トークンでユーザーの SID が無効にされていない必要があります。
構文
BOOL CredWriteDomainCredentialsA(
[in] PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,
[in] PCREDENTIALA Credential,
[in] DWORD Flags
);
パラメーター
[in] TargetInfo
ターゲット サーバーを識別します。 名前付けメンバーの少なくとも 1 つは NULL 以外である必要があり、 NetbiosServerName、 DnsServerName、 NetbiosDomainName、 DnsDomainName、または DnsTreeName にすることができます。
[in] Credential
書き込む資格情報。
TargetInfo For instance と一致する資格情報である必要があります。TargetName がワイルドカード DNS 名の場合、資格情報の TargetName メンバーは TargetInfo の DnsServerName メンバーの後置である必要があります。
[in] Flags
API の操作を制御するためのフラグ。 次のフラグが定義されています。
値 | 説明 |
---|---|
|
資格情報 BLOB は、同じ資格情報名と資格情報の種類を持つ既存の資格情報から保持する必要があります。 Credential 構造体で渡される の CredentialBlobSize は 0 である必要があります。 |
戻り値
関数が成功した場合、関数は TRUE を返します。
関数が失敗した場合は、 FALSE を返します。 GetLastError 関数を呼び出して、より具体的な状態コードを取得します。 次の状態コードを返すことができます。
CRED_TYPE_CERTIFICATE資格情報を記述するときに、その他のスマート カード エラーを返すことができます。
リターン コード | 説明 |
---|---|
|
1 つ以上のパラメーターが無効です。 名前付けパラメーターが指定されていないか、指定された資格情報に type メンバーが CRED_TYPE_DOMAIN_PASSWORD または CRED_TYPE_DOMAIN_CERTIFICATE に設定されていないか、 資格情報 が TargetInfo と一致しません。 |
|
ログオン セッションが存在しないか、このログオン セッションに関連付けられている資格情報セットがありません。 ネットワーク ログオン セッションには、関連付けられた資格情報セットがありません。 |
|
無効な値が Flags パラメーターに指定されました。 |
|
Credential 構造体で渡された の UserName メンバーが無効です。 有効な構文の説明については、そのメンバーの定義を参照してください。 |
|
CRED_PRESERVE_CREDENTIAL_BLOBが指定されており、同じ TargetName と Type で既存の資格情報がありません。 |
|
書き込まれるCRED_TYPE_CERTIFICATE資格情報を使用するには、スマート カード リーダーを使用できる必要があります。 |
|
書き込まれる資格情報には、スマート カードを挿入する必要があります。 |
|
書き込まれるCRED_TYPE_CERTIFICATE資格情報に間違った PIN が指定されました。 |
解説
この関数がCRED_TYPE_CERTIFICATE資格情報を書き込む場合、Credential-CredentialBlob メンバーは、Credential-UserName> で指定された証明書の秘密キーを保護する PIN を>指定します。 資格情報マネージャーは PIN を維持しません。 代わりに、後で CSP と認証パッケージで使用するために、PIN が証明書の CSP に渡されます。 CSP は PIN の有効期間を定義します。 たとえば、ほとんどの CSP はスマート カードの削除時に PIN をフラッシュします。
CredWriteDomainCredentials は、ドメイン (CRED_TYPE_DOMAIN_PASSWORDまたはCRED_TYPE_DOMAIN_CERTIFICATE) 資格情報の idiosyncrasies を処理するという点で CredWrite とは異なります。 ドメイン資格情報には、複数のターゲット メンバーが含まれています。
Credential パラメーターで指定された CREDENTIAL 構造体の Type メンバーの値がCRED_TYPE_DOMAIN_EXTENDED場合は、ターゲット名に名前空間を指定する必要があります。
注意
wincred.h ヘッダーは、CredWriteDomainCredentials をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | wincred.h |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |