CredWriteA 関数 (wincred.h)
CredWrite 関数は、新しい資格情報を作成するか、ユーザーの資格情報セット内の既存の資格情報を変更します。 新しい資格情報は、現在のトークンのログオン セッションに関連付けられます。 トークンには、ユーザーの セキュリティ識別子 (SID) が無効にされていない必要があります。
構文
BOOL CredWriteA(
[in] PCREDENTIALA Credential,
[in] DWORD Flags
);
パラメーター
[in] Credential
書き込む CREDENTIAL 構造体へのポインター。
[in] Flags
関数の操作を制御するフラグ。 次のフラグが定義されています。
価値 | 意味 |
---|---|
|
既存の資格情報からの資格情報 BLOB は、同じ資格情報名と資格情報の種類で保持されます。 Credential 構造体に渡される |
戻り値
関数が成功した場合、関数は TRUE
関数が失敗した場合は、FALSE
CRED_TYPE_CERTIFICATE資格情報を書き込むと、その他のスマート カード エラーが返される可能性があります。
戻りコード/値 | 形容 |
---|---|
|
ログオン セッションが存在しないか、このログオン セッションに関連付けられている資格情報セットがありません。 ネットワーク ログオン セッションには、関連付けられた資格情報セットがありません。 |
|
既存の資格情報では、特定のフィールドを変更できません。 このエラーは、フィールドが既存の資格情報の保護されたフィールドの値と一致しない場合に返されます。 |
|
無効な値が、Flags パラメーターに指定されました。 |
|
渡された資格情報 構造体の |
|
CRED_PRESERVE_CREDENTIAL_BLOBが指定されており、TargetName と |
|
CRED_TYPE_CERTIFICATE資格情報を書き込むには、スマート カード リーダーを使用できる必要があります。 |
|
CRED_TYPE_CERTIFICATE資格情報を書き込むには、スマート カードを挿入する必要があります。 |
|
書き込まれるCRED_TYPE_CERTIFICATE資格情報に間違った PIN が指定されました。 |
備考
この関数は、指定された TargetName と Type を持つ資格情報が存在しない場合に資格情報を作成します。 指定した TargetName と Type を持つ資格情報が存在する場合は、新しい指定された資格情報が既存の資格情報に置き換えられます。
この関数がCRED_TYPE_CERTIFICATE資格情報を書き込むと、
Credential パラメーターで指定された CREDENTIAL 構造体の Type メンバーの値が CRED_TYPE_DOMAIN_EXTENDED場合は、ターゲット名に名前空間を指定する必要があります。 この関数は、ワイルドカードを含むターゲット名への書き込みをサポートしていません。
手記
wincred.h ヘッダーは CredWrite をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいてこの関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | wincred.h |
ライブラリ | Advapi32.lib |
DLL | Advapi32.dll |