Bagikan melalui


Fungsi DsBindWithSpnExA (ntdsapi.h)

Fungsi DsBindWithSpnEx mengikat pengontrol domain menggunakan kredensial yang ditentukan dan nama prinsipal layanan (SPN) tertentu untuk autentikasi timbal balik. Fungsi ini mirip dengan fungsi DsBindWithSpn kecuali fungsi ini memungkinkan lebih banyak opsi pengikatan dengan parameter BindFlags.

Fungsi ini disediakan di mana kontrol lengkap diperlukan melalui autentikasi bersama. Jangan gunakan fungsi ini jika Anda mengharapkan DsBind menemukan server untuk Anda, karena SPN khusus komputer, dan tidak mungkin SPN yang Anda berikan akan cocok dengan server yang DsBind temukan untuk Anda. Menyediakan argumen ServicePrincipalNameNULL menghasilkan perilaku yang identik dengan DsBindWithCred.

Sintaksis

NTDSAPI_POSTXP DWORD DsBindWithSpnExA(
  [in, optional] LPCSTR                   DomainControllerName,
  [in, optional] LPCSTR                   DnsDomainName,
  [in, optional] RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
  [in, optional] LPCSTR                   ServicePrincipalName,
  [in, optional] DWORD                    BindFlags,
  [out]          HANDLE                   *phDS
);

Parameter

[in, optional] DomainControllerName

Penunjuk ke string yang dihentikan null yang berisi nama DNS domain yang sepenuhnya memenuhi syarat untuk diikat. Untuk informasi selengkapnya, lihat deskripsi DomainControllerName dalam topik DsBind.

[in, optional] DnsDomainName

Penunjuk ke string yang dihentikan null yang berisi nama DNS domain yang sepenuhnya memenuhi syarat untuk diikat. Untuk informasi selengkapnya, lihat deskripsi DnsDomainName dalam topik DsBind.

[in, optional] AuthIdentity

Berisi nilai RPC_AUTH_IDENTITY_HANDLE yang mewakili kredensial yang akan digunakan untuk pengikatan. Si

fungsi DsMakePasswordCredentials digunakan untuk mendapatkan nilai ini. Jika parameter ini NULL, kredensial utas panggilan digunakan.

DsUnBind harus dipanggil sebelum membebaskan handel ini dengan fungsi DsFreePasswordCredentials .

[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 nilai yang tercantum dalam daftar 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 seperti DsBindWithSpn.

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

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

NTDSAPI_BIND_FIND_BINDING (2)

Dipesan.

NTDSAPI_BIND_FORCE_KERBEROS (4)

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

[out] phDS

Alamat nilai HANDLE yang menerima handel pengikatan. Untuk menutup handel ini, teruskan ke fungsi DsUnBind.

Mengembalikan nilai

Mengembalikan ERROR_SUCCESS jika berhasil atau kode kesalahan Windows atau RPC jika tidak. Daftar berikut mencantumkan kode kesalahan umum.

Komentar

Nota

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

Lihat juga

Fungsi Pengendali Domain dan Manajemen Replikasi

DsBind

DsBindWithCred

DsBindWithSpn

DsUnBind

Tingkat Peniruan