Fungsi DsCrackNamesA (ntdsapi.h)

Fungsi DsCrackNames mengonversi array nama objek layanan direktori dari satu format ke format lainnya. Konversi nama memungkinkan aplikasi klien memetakan antara beberapa nama yang digunakan untuk mengidentifikasi berbagai objek layanan direktori. Misalnya, objek pengguna dapat diidentifikasi dengan nama akun SAM (NamaPenggunaDomain\), nama utama pengguna (DomainNama@ Pengguna.com), atau nama khusus.

Sintaks

NTDSAPI DWORD DsCrackNamesA(
  [in]  HANDLE           hDS,
  [in]  DS_NAME_FLAGS    flags,
  [in]  DS_NAME_FORMAT   formatOffered,
  [in]  DS_NAME_FORMAT   formatDesired,
  [in]  DWORD            cNames,
  [in]  const LPCSTR     *rpNames,
  [out] PDS_NAME_RESULTA *ppResult
);

Parameter

[in] hDS

Berisi handel layanan direktori yang diperoleh dari fungsi DSBind atau DSBindWithCred . Jika bendera berisi DS_NAME_FLAG_SYNTACTICAL_ONLY, hDS bisa null.

[in] flags

Berisi satu atau beberapa nilai DS_NAME_FLAGS yang digunakan untuk menentukan bagaimana sintaks nama akan di-crack.

[in] formatOffered

Berisi salah satu nilai DS_NAME_FORMAT yang mengidentifikasi format nama input.

Nilai DS_LIST_NCS juga dapat diteruskan untuk parameter ini. Hal ini menyebabkan DsCrackNames mengembalikan nama yang dibedakan dari semua konteks penamaan di forest saat ini. Parameter formatDesired diabaikan. cName harus minimal satu dan semua string dalam rpName harus memiliki panjang yang lebih besar dari nol karakter. Konten string rpNames diabaikan.

CatatanDS_LIST_NCS tidak ditentukan dalam file header yang diterbitkan. Untuk menggunakan nilai ini, tentukan dalam format yang tepat yang ditunjukkan di bawah ini.
 
#ifndef DS_LIST_NCS
    #define DS_LIST_NCS 0xfffffff6
#endif

[in] formatDesired

Berisi salah satu nilai DS_NAME_FORMAT yang mengidentifikasi format nama output. Nilai DS_SID_OR_SID_HISTORY_NAME tidak didukung.

[in] cNames

Berisi jumlah elemen dalam array rpNames .

[in] rpNames

Penunjuk ke array pointer ke string yang dihentikan null yang berisi nama yang akan dikonversi.

[out] ppResult

Penunjuk ke nilai PDS_NAME_RESULT yang menerima struktur DS_NAME_RESULT yang berisi nama yang dikonversi. Pemanggil harus membebaskan memori ini, ketika tidak lagi diperlukan, dengan memanggil DsFreeNameResult.

Nilai kembali

Mengembalikan nilai kesalahan Win32, nilai kesalahan RPC, atau salah satu hal berikut ini.

Keterangan

Keberhasilan permintaan konversi nama tergantung pada tempat klien terikat. Klien mengikat instans tertentu dari layanan direktori menggunakan beberapa varian DsBind. Jika terikat ke katalog global, cakupan pemetaan nama adalah seluruh forest. Jika tidak terikat ke katalog global, cakupan pemetaan nama adalah domain yang tidak dicakup oleh katalog global untuk pengendali domain tersebut. Jika tidak terikat ke katalog global dan nama tidak ditemukan, tetapi nama input secara tidak ambigu mengidentifikasi domainnya dan domain ini berada di forest, maka data pengembalian mengidentifikasi nama domain DNS untuk domain yang menarik. Klien diharapkan menggunakan data ini untuk mengikat pengontrol domain atau katalog global yang benar dan memanggil DsCrackNames lagi dengan handel ikat baru.

Nilai yang dikembalikan dari DsCrackNames menunjukkan kesalahan seperti parameter yang tidak valid atau memori yang tidak mencukupi. Namun, masalah dalam mengonversi nama individu dilaporkan dalam anggota status struktur DS_NAME_RESULT_ITEM yang dikembalikan untuk setiap nama input.

Catatan Jangan membingungkan nilai elemen format parameter formatOffered yang digunakan oleh fungsi DsCrackNames dengan elemen format bernama yang sama seperti yang didefinisikan dalam enumerasi ADS_NAME_TYPE_ENUM yang digunakan oleh antarmuka IADsNameTranslate . Dua set format elemen tidak setara dan tidak dapat dipertukarkan.
 

Catatan

Header ntdsapi.h mendefinisikan DsCrackNames 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

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2008
Target Platform Windows
Header ntdsapi.h
Pustaka Ntdsapi.lib
DLL Ntdsapi.dll

Lihat juga

ADS_NAME_TYPE_ENUM

DS_NAME_FLAGS

DS_NAME_FORMAT

DS_NAME_RESULT

DS_NAME_RESULT_ITEM

Fungsi Pengendali Domain dan Manajemen Replikasi

DsFreeNameResult

IADsNameTranslate