Fungsi DsGetSpnW (ntdsapi.h)
Fungsi
Sintaksis
NTDSAPI DWORD DsGetSpnW(
[in] DS_SPN_NAME_TYPE ServiceType,
[in] LPCWSTR ServiceClass,
[in, optional] LPCWSTR ServiceName,
[in] USHORT InstancePort,
[in] USHORT cInstanceNames,
[in, optional] LPCWSTR *pInstanceNames,
[in, optional] const USHORT *pInstancePorts,
[out] DWORD *pcSpn,
[out] LPWSTR **prpszSpn
);
Parameter
[in] ServiceType
Mengidentifikasi format SPN yang akan disusupi. Parameter ServiceType
DS_SPN_DNS_HOST, DS_SPN_DN_HOST, DS_SPN_NB_HOST
SPN memiliki format berikut.
ServiceClass/ InstanceName: InstancePort
Parameter ServiceName
DS_SPN_DOMAIN, DS_SPN_NB_DOMAIN
SPN memiliki format berikut.
ServiceClass/ InstanceName: InstancePort/ ServiceName
Parameter ServiceName harus berupa nama DNS atau DN domain. Format ini digunakan untuk layanan yang dapat direplikasi yang menyediakan layanan ke domain yang ditentukan.
DS_SPN_SERVICE
SPN memiliki format berikut.
ServiceClass/ InstanceName: InstancePort/ ServiceName
Parameter ServiceName harus berupa nama DN atau DNS kanonis yang mengidentifikasi instans layanan. Misalnya, itu bisa menjadi nama DNS dari catatan SRV, atau nama khusus titik koneksi layanan untuk instans layanan ini.
[in] ServiceClass
Penunjuk ke string yang dihentikan null konstanta yang menentukan kelas layanan; misalnya, http. Umumnya, ini bisa menjadi string apa pun yang unik untuk layanan.
[in, optional] ServiceName
Penunjuk ke string yang dihentikan null konstanta yang menentukan nama DNS atau nama khusus (DN) layanan.
ServiceName tidak diperlukan untuk layanan berbasis host. Untuk informasi selengkapnya, lihat deskripsi parameter ServiceType
[in] InstancePort
Menentukan nomor port instans layanan. Jika nilai ini nol, SPN tidak menyertakan nomor port.
[in] cInstanceNames
Menentukan jumlah elemen dalam pInstanceNames
[in, optional] pInstanceNames
Penunjuk ke array string yang dihentikan null yang menentukan nama instans tambahan (tidak digunakan untuk nama host). Parameter ini diabaikan jika
[in, optional] pInstancePorts
Penunjuk ke array port instans tambahan. Jika nilai ini bukanNULL , nilai harus menunjuk ke array cInstanceNames nomor port. Jika nilai ini null, SPN tidak menyertakan nomor port. Parameter ini diabaikan jika
[out] pcSpn
Pointer ke variabel yang menerima jumlah SPN yang terkandung dalam prpszSpn.
[out] prpszSpn
Penunjuk ke variabel yang menerima penunjuk ke array SPN. Array ini harus dibebaskan dengan DsFreeSpnArray.
Mengembalikan nilai
Jika fungsi mengembalikan array SPN, nilai yang dikembalikan adalah ERROR_SUCCESS.
Jika fungsi gagal, nilai pengembalian dapat menjadi salah satu kode kesalahan berikut.
Komentar
Membuat SPN untuk beberapa instans layanan yang direplikasi yang berjalan di beberapa komputer host
- Atur cInstanceNames ke jumlah instans.
- Tentukan nama komputer host di array pInstanceNames
.
Membuat SPN untuk beberapa instans layanan yang berjalan di komputer host yang sama
- Atur cInstanceNames
ke jumlah instans. - Atur setiap entri di array
pInstanceNames ke nama DNS komputer host. - Gunakan parameter
pInstancePorts untuk menentukan array nomor port unik untuk setiap instans guna membedakan SPN.
Aplikasi dengan hak istimewa yang sesuai, yang biasanya merupakan admin domain, dapat memanggil fungsi
Nota
Header ntdsapi.h mendefinisikan DsGetSpn sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praproscesor 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
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows Vista |
server minimum yang didukung |
Windows Server 2008 |
Platform Target |
Windows |
Header |
ntdsapi.h |
Pustaka |
Ntdsapi.lib |
DLL |
Ntdsapi.dll |