Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kotak dialog pemilih objek direktori memungkinkan pengguna untuk memilih satu atau beberapa objek dari katalog global, domain atau komputer, atau grup kerja. Jenis objek tempat pengguna dapat memilih sertakan objek pengguna, kontak, grup, dan komputer. Untuk informasi selengkapnya tentang Active Directory Domain Services, lihat Active Directory Domain Services.
Untuk menampilkan kotak dialog pemilih objek:
- Panggil fungsi CoCreateInstance atau CoCreateInstanceEx untuk membuat instans antarmukaIDsObjectPicker.
- Panggil metode IDsObjectPicker::Initialize untuk menginisialisasi kotak dialog.
- Panggil metode IDsObjectPicker::InvokeDialog untuk menampilkan kotak dialog.
- Panggil metode IDataObject::GetData instansIDataObjectyang dikembalikan oleh kotak dialog pemilih objek untuk mengambil data CFSTR_DSOP_DS_SELECTION_LIST. Format clipboard CFSTR_DSOP_DS_SELECTION_LIST menyediakan HGLOBAL yang berisi struktur DS_SELECTION_LIST. Struktur DS_SELECTION_LIST berisi data tentang item yang dipilih dalam kotak dialog pemilih objek.
Jika Pengidentifikasi Keamanan (SID) diperlukan untuk objek, ini harus diminta langsung dari pemilih objek dengan menambahkan atribut objectSID ke daftar atribut yang akan diambil untuk objek yang dipilih. Meneruskan nama objek yang dikembalikan ke fungsiLsaLookupNames atau LookupAccountName tidak disarankan karena pencarian nama akan berlebihan dan mungkin gagal dalam beberapa kasus.
Jika referensi ke objek yang dipilih akan disimpan, nama khusus tidak boleh disimpan karena objek dapat dipindahkan, diganti namanya, atau dapat berubah karena perbedaan lokal. Untuk prinsip keamanan, objectSID harus diminta untuk objek dan disimpan dengan aman. Jika nama prinsip keamanan diperlukan nanti, nama prinsipal keamanan dapat diambil dengan fungsi LookupAccountSid. Untuk semua objek lainnya, objectGUID harus diminta dan disimpan.
Inisialisasi
Saat kotak dialog pemilih objek diinisialisasi, sekumpulan jenis cakupan dan filter ditentukan. Jenis cakupan yang ditentukan menentukan lokasi, domain, atau komputer misalnya, tempat pengguna dapat memilih objek. Filter menentukan jenis objek yang dapat dipilih pengguna dari jenis cakupan tertentu. Untuk informasi selengkapnya, lihat bagian Cakupan dan Filter di bawah ini.
Secara default, pengguna dapat memilih satu objek dalam kotak dialog pemilih objek direktori. Untuk mengaktifkan beberapa pilihan, atur bendera DSOP_FLAG_MULTISELECT di flOptions anggota struktur DSOP_INIT_INFO saat kotak dialog diinisialisasi.
Cakupan dan Filter
Daftar drop-down Lihat di berisi cakupan tempat pengguna dapat memilih objek. Cakupan adalah domain, komputer, grup kerja, atau katalog global yang menyimpan data tentang, dan menyediakan akses ke, sekumpulan objek yang tersedia. Entri dalam daftar cakupan bergantung pada jenis cakupan dan komputer target yang ditentukan ketika metode IDsObjectPicker::Initialize terakhir dipanggil untuk menginisialisasi kotak dialog pemilih objek.
Jenis cakupan adalah kategori cakupan umum, seperti semua domain di perusahaan tempat komputer target berada, atau katalog global untuk perusahaan komputer target, atau komputer target itu sendiri. Untuk setiap jenis cakupan yang ditentukan, kotak dialog menggunakan konteks komputer target untuk menentukan entri daftar cakupan.
Metode IDsObjectPicker::Initialize membawa penunjuk ke struktur DSOP_INIT_INFO yang berisi array struktur DSOP_SCOPE_INIT_INFO. Setiap entri dalam array DSOP_SCOPE_INIT_INFO menentukan satu atau beberapa jenis cakupan serta filter yang berlaku dan atribut lainnya. Filter menentukan jenis objek, seperti pengguna, grup, kontak, dan komputer, yang dapat dipilih pengguna dari jenis cakupan tertentu. Saat pengguna memilih cakupan dari daftar, kotak dialog menerapkan filter untuk jenis cakupan tersebut untuk menampilkan daftar objek tempat pengguna dapat memilih.
Setiap struktur DSOP_SCOPE_INIT_INFO berisi struktur DSOP_FILTER_FLAGS yang menentukan filter untuk jenis cakupan tersebut. Struktur DSOP_FILTER_FLAGS membedakan antara cakupan tingkat atas dan bawah:
- Cakupan tingkat atas adalah katalog global atau domain yang mendukung penyedia ADSI LDAP.
- Cakupan tingkat bawah mencakup grup kerja dan semua komputer individual. Kotak dialog menggunakan penyedia ADSI WinNT untuk mengakses cakupan tingkat bawah.
Ada dua set bendera filter yang ditentukan untuk digunakan dalam struktur DSOP_FILTER_FLAGS: satu untuk cakupan tingkat atas dan satu untuk cakupan tingkat bawah. Anggota Uplevel dari struktur DSOP_FILTER_FLAGS adalah struktur DSOP_UPLEVEL_FILTER_FLAGS yang menentukan filter untuk cakupan tingkat atas. Anggota flDownlevel struktur DSOP_FILTER_FLAGS adalah sekumpulan bendera yang menentukan filter untuk cakupan tingkat bawah.