Fungsi CredReadDomainCredentialsA (wincred.h)
Fungsi CredReadDomainCredentials membaca kredensial domain dari kumpulan kredensial pengguna. Set kredensial yang digunakan adalah yang terkait dengan sesi masuk token saat ini. Token tidak boleh menonaktifkan SID pengguna.
Sintaks
BOOL CredReadDomainCredentialsA(
[in] PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,
[in] DWORD Flags,
[out] DWORD *Count,
[out] PCREDENTIALA **Credential
);
Parameter
[in] TargetInfo
Informasi target yang mengidentifikasi server target. Setidaknya salah satu anggota penamaan tidak boleh NULL: NetbiosServerName, DnsServerName, NetbiosDomainName, DnsDomainName atau DnsTreeName.
[in] Flags
Bendera yang mengontrol pengoperasian fungsi.
Bendera berikut didefinisikan:
CRED_CACHE_TARGET_INFORMATION
Cache TargetInfo untuk bacaan berikutnya menggunakan CredGetTargetInfo.
[out] Count
Jumlah kredensial yang dikembalikan dalam array Kredensial .
[out] Credential
Arahkan ke array pointer ke kredensial. Kredensial yang paling spesifik yang ada yang cocok dengan TargetInfo dikembalikan. Jika kredensial dari berbagai jenis (misalnya, kredensial CRED_TYPE_DOMAIN_PASSWORD dan CRED_TYPE_DOMAIN_CERTIFICATE) ada, salah satu dari setiap jenis dikembalikan. Jika koneksi akan dibuat ke target bernama, kredensial yang paling spesifik ini akan digunakan.
Hanya jenis kredensial yang ditentukan oleh TargetInfo. Array CredTypes dikembalikan. Array Kredensial yang dikembalikan diurutkan dalam urutan yang sama dengan TargetInfo. Array CredTypes. Artinya, paket autentikasi menentukan jenis kredensial pilihan dengan menentukannya sebelumnya di TargetInfo. Array CredTypes. Jika TargetInfo. CredTypeCount adalah nol, array Kredensial dikembalikan dalam urutan yang diurutkan berikut:
- CRED_TYPE_DOMAIN_CERTIFICATE
- CRED_TYPE_DOMAIN_PASSWORD
Buffer yang dikembalikan adalah satu blok yang dialokasikan. Setiap pointer yang terkandung dalam buffer adalah penunjuk ke lokasi dalam blok yang dialokasikan tunggal ini. Buffer tunggal yang dikembalikan harus dikosongkan dengan memanggil CredFree.
Nilai kembali
Fungsi mengembalikan TRUE pada keberhasilan dan FALSE pada kegagalan. Fungsi GetLastError dapat dipanggil untuk mendapatkan kode status yang lebih spesifik. Kode status berikut dapat dikembalikan:
- ERROR_INVALID_PARAMETER
Tidak ada parameter penamaan yang ditentukan.
- ERROR_NOT_FOUND
Tidak ada kredensial yang cocok dengan parameter penamaan yang ditentukan.
- 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
Bendera yang tidak valid ditentukan untuk parameter Bendera .
Keterangan
Fungsi ini mengembalikan kredensial yang paling spesifik yang cocok dengan parameter penamaan. Misalnya, jika ada kredensial yang cocok dengan nama server target dan kredensial yang cocok dengan nama domain target, hanya kredensial spesifik server yang dikembalikan. Ini adalah kredensial yang akan digunakan.
Daftar berikut menentukan urutan (dari yang paling spesifik hingga paling tidak spesifik) dari kredensial apa yang dikembalikan jika lebih dari satu kecocokan:
- Nama target kredensial adalah formulir <DfsRoot>\<DfsShare>, dan itu adalah kecocokan yang tepat pada TargetName.
- Kecocokan persis pada DnsServerName.
- Kecocokan persis pada NetBIOSServerName.
- Kecocokan persis pada TargetName.
- Kecocokan DnsServerName dengan kredensial server wildcard. Jika lebih dari satu kredensial server kartubebas cocok, kredensial dengan TargetName yang lebih panjang akan digunakan. Artinya, kredensial untuk *.example.microsoft.com digunakan alih-alih kredensial untuk *.microsoft.com.
- Kecocokan persis DnsDomainName dengan kredensial domain wildcard formulir <DnsDomainName>\*.
- Kecocokan yang tepat dari NetBIOSDomainName dengan kredensial domain wildcard formulir <NetBIOSDomainName>\*
- Info masuk bernama CRED_SESSION_WILDCARD_NAME.
- Kredensial bernama "*".
Jika nilai jenis anggota strukturKREDENSIAL yang ditentukan oleh parameter KredensialCRED_TYPE_DOMAIN_EXTENDED, namespace harus ditentukan dalam nama target. Fungsi ini hanya dapat mengembalikan satu kredensial dari jenis yang ditentukan.
Fungsi ini dapat mengembalikan beberapa kredensial jenis ini, tetapi CRED_TYPE_DOMAIN_EXTENDED tidak dapat dicampur dengan jenis lain dalam anggota CredTypes dari struktur CREDENTIAL_TARGET_INFORMATION yang ditentukan oleh parameter TargetInfo .
Catatan
Header wincred.h mendefinisikan CredReadDomainCredentials sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosem 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
Persyaratan | Nilai |
---|---|
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 |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk