Fungsi CredWriteDomainCredentialsA (wincred.h)

Fungsi CredWriteDomainCredentials menulis kredensial domain ke kumpulan kredensial pengguna. Set kredensial yang digunakan adalah yang terkait dengan sesi masuk token saat ini. Token tidak boleh menonaktifkan SID pengguna.

Sintaks

BOOL CredWriteDomainCredentialsA(
  [in] PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,
  [in] PCREDENTIALA                    Credential,
  [in] DWORD                           Flags
);

Parameter

[in] TargetInfo

Mengidentifikasi server target. Setidaknya salah satu anggota penamaan harus non-NULL dan dapat berupa NetbiosServerName, DnsServerName, NetbiosDomainName, DnsDomainName, atau DnsTreeName.

[in] Credential

Kredensial yang akan ditulis.

Kredensial harus salah satu yang cocok dengan TargetInfo Misalnya, jika TargetName adalah nama DNS kartubebas, maka anggota TargetName dari kredensial harus berupa postfiks anggota DnsServerName dari TargetInfo.

[in] Flags

Bendera untuk mengontrol pengoperasian API. Bendera berikut ditentukan.

Nilai Makna
CRED_PRESERVE_CREDENTIAL_BLOB
BLOB kredensial harus dipertahankan dari kredensial yang sudah ada dengan nama kredensial dan jenis kredensial yang sama. CredentialBlobSize dari struktur Kredensial yang diteruskan harus nol.

Mengembalikan nilai

Jika fungsi berhasil, fungsi mengembalikan TRUE.

Jika fungsi gagal, fungsi akan mengembalikan FALSE. Panggil fungsi GetLastError untuk mendapatkan kode status yang lebih spesifik. Kode status berikut dapat dikembalikan.

Kesalahan kartu pintar lainnya dapat dikembalikan saat menulis kredensial CRED_TYPE_CERTIFICATE.

Menampilkan kode Deskripsi
ERROR_INVALID_PARAMETER
Satu atau beberapa parameter tidak valid. Tidak ada parameter penamaan yang ditentukan, atau kredensial yang ditentukan tidak memiliki anggota Jenis yang diatur ke CRED_TYPE_DOMAIN_PASSWORD atau CRED_TYPE_DOMAIN_CERTIFICATE, atau Kredensial tidak cocok dengan TargetInfo.
ERROR_NO_SUCH_LOGON_SESSION
Sesi masuk tidak ada atau tidak ada set kredensial yang terkait dengan sesi masuk ini. Sesi masuk jaringan tidak memiliki set kredensial terkait.
ERROR_INVALID_FLAGS
Nilai yang tidak valid ditentukan untuk parameter Bendera .
ERROR_BAD_USERNAME
Anggota UserName dari struktur kredensial yang diteruskan tidak valid. Untuk deskripsi sintaks yang valid, lihat definisi anggota tersebut.
ERROR_NOT_FOUND
CRED_PRESERVE_CREDENTIAL_BLOB ditentukan dan tidak ada kredensial yang ada dengan TargetName dan Jenis yang sama.
SCARD_E_NO_READERS_AVAILABLE
Kredensial CRED_TYPE_CERTIFICATE yang ditulis mengharuskan pembaca kartu pintar tersedia.
SCARD_E_NO_SMARTCARD atau SCARD_W_REMOVED_CARD: CRED_TYPE_CERTIFICATE
Kredensial yang sedang ditulis mengharuskan kartu pintar dimasukkan.
SCARD_W_WRONG_CHV
PIN yang salah disediakan untuk kredensial CRED_TYPE_CERTIFICATE sedang ditulis.

Keterangan

Ketika fungsi ini menulis kredensial CRED_TYPE_CERTIFICATE, anggota Credential-CredentialBlob> menentukan PIN yang melindungi kunci privat sertifikat yang ditentukan oleh Credential-UserName>. Manajer kredensial tidak mempertahankan PIN. Sebaliknya, PIN diteruskan ke CSP sertifikat untuk digunakan nanti oleh CSP dan paket autentikasi. CSP mendefinisikan masa pakai PIN. Misalnya, sebagian besar CSP membersihkan PIN saat penghapusan kartu pintar.

CredWriteDomainCredentials berbeda dari CredWrite karena menangani kredensial idiosyncrasies domain (CRED_TYPE_DOMAIN_PASSWORD atau CRED_TYPE_DOMAIN_CERTIFICATE). Info masuk domain berisi lebih dari satu anggota target.

Jika nilai jenis anggota struktur KREDENSIAL yang ditentukan oleh parameter KredensialCRED_TYPE_DOMAIN_EXTENDED, namespace harus ditentukan dalam nama target.

Catatan

Header wincred.h mendefinisikan CredWriteDomainCredentials sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header wincred.h
Pustaka Advapi32.lib
DLL Advapi32.dll