Bagikan melalui


Fungsi DsBindByInstanceW (ntdsapi.h)

Fungsi DsBindByInstance secara eksplisit mengikat instans AD LDS atau Direktori Aktif apa pun.

Sintaksis

NTDSAPI_POSTXP DWORD DsBindByInstanceW(
  [in]           LPCWSTR                  ServerName,
  [in]           LPCWSTR                  Annotation,
  [in]           GUID                     *InstanceGuid,
  [in]           LPCWSTR                  DnsDomainName,
  [in, optional] RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
  [in, optional] LPCWSTR                  ServicePrincipalName,
  [in, optional] DWORD                    BindFlags,
  [out]          HANDLE                   *phDS
);

Parameter

[in] ServerName

Penunjuk ke string null-terminated yang menentukan nama instans. Parameter ini diperlukan untuk mengikat ke instans AD LDS. Jika parameter ini NULL saat mengikat ke instans Direktori Aktif, parameter DnsDomainName harus berisi nilai. Jika parameter ini dan parameter DnsDomainName keduanya null, fungsi gagal dengan nilai yang dikembalikan ERROR_INVALID_PARAMETER (87).

[in] Annotation

Pointer ke string null-terminated yang menentukan nomor port instans AD LDS atau NULL saat mengikat instans Direktori Aktif. Misalnya, "389".

Jika parameter ini NULL saat mengikat menurut domain ke instans Direktori Aktif, parameter DnsDomainName harus ditentukan. Jika parameter ini NULL saat mengikat ke instans AD LDS, parameter InstanceGuid harus ditentukan.

[in] InstanceGuid

Penunjuk ke nilai GUID yang berisi GUID instans AD LDS. Nilai GUID adalah properti objectGUID dari objek nTDSDSA instans. Jika parameter ini NULL saat mengikat ke instans AD LDS, parameter Anotasi harus ditentukan.

[in] DnsDomainName

Penunjuk ke string yang dihentikan null yang menentukan nama DNS domain saat mengikat ke instans Direktori Aktif menurut domain. Atur parameter ini ke NULL untuk mengikat instans Direktori Aktif menurut server atau ke instans AD LDS.

[in, optional] AuthIdentity

Tangani ke kredensial yang digunakan untuk memulai sesi RPC. Gunakan fungsi DsMakePasswordCredentials untuk membuat struktur yang cocok untuk AuthIdentity.

[in, optional] ServicePrincipalName

Penunjuk ke string null-terminated yang menentukan Nama Perwakilan Layanan untuk ditetapkan ke klien. Meneruskan NULL di ServicePrincipalName setara dengan panggilan ke fungsi DsBindWithCred.

[in, optional] BindFlags

Berisi sekumpulan bendera yang menentukan perilaku fungsi ini. Parameter ini dapat berisi nol atau kombinasi dari satu atau beberapa nilai berikut.

NTDSAPI_BIND_ALLOW_DELEGATION (1)

Menyebabkan ikatan menggunakan tingkat peniruan delegasi. Ini memungkinkan operasi yang memerlukan delegasi, seperti DsAddSidHistory, untuk berhasil. Menentukan bendera ini juga menyebabkan DsBindWithSpnEx beroperasi mirip dengan DsBindWithSpn.

Jika bendera ini tidak ditentukan, ikatan akan menggunakan tingkat peniruan identitas. Untuk informasi selengkapnya tentang tingkat peniruan identitas, lihat Tingkat Peniruan Identitas.

Sebagian besar operasi tidak memerlukan tingkat peniruan delegasi; bendera ini hanya boleh ditentukan jika diperlukan. Mengikat ke server nakal dengan tingkat peniruan delegasi memungkinkan server nakal untuk terhubung ke server non-nakal dengan kredensial Anda dan melakukan operasi yang tidak diinginkan.

NTDSAPI_BIND_FORCE_KERBEROS (4)

Layanan Direktori Ringan Direktori Aktif: Jika bendera ini ditentukan, DsBindWithSpnEx memerlukan autentikasi Kerberos untuk digunakan. Jika autentikasi Kerberos tidak dapat dibuat, DsBindWithSpnEx tidak akan mencoba mengautentikasi dengan mekanisme lain.

[out] phDS

Alamat nilai HANDLE yang menerima handel pengikatan. Untuk menutup handel ini, panggil DsUnBind.

Mengembalikan nilai

Mengembalikan NO_ERROR jika berhasil atau kesalahan RPC atau Win32 jika tidak. Kemungkinan kode kesalahan menyertakan kode yang tercantum dalam daftar berikut.

Komentar

Daftar berikut mencantumkan nilai parameter yang diperlukan untuk pengikatan ke instans.

Sebagai contoh ServerName Anotasi InstanceGuid DnsDomainName
Direktori Aktif menurut server Nama Server NULL NULL NULL
Direktori Aktif menurut domain NULL NULL NULL Nama domain DNS
AD LDS menurut port Nama DNS komputer dengan penginstalan AD LDS. Nomor Port NULL NULL
AD LDS menurut GUID Nama DNS komputer dengan penginstalan AD LDS. NULL GUID instans NULL
 
Catatan Untuk meningkatkan performa saat mengikat instans AD LDS di komputer dengan beberapa instans AD LDS, yang diikat oleh Instans GUID, bukan nomor port.
 

Nota

Header ntdsapi.h mendefinisikan DsBindByInstance sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur 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