Metode IDirectorySearch::ExecuteSearch (iads.h)
Metode IDirectorySearch::ExecuteSearch menjalankan pencarian dan meneruskan hasilnya ke pemanggil. Beberapa penyedia, seperti LDAP, akan menunda eksekusi aktual sampai pemanggil memanggil metode IDirectorySearch::GetFirstRow atau metode IDirectorySearch::GetNextRow .
Sintaks
HRESULT ExecuteSearch(
[in] LPWSTR pszSearchFilter,
[in] LPWSTR *pAttributeNames,
[in] DWORD dwNumberAttributes,
[out] PADS_SEARCH_HANDLE phSearchResult
);
Parameter
[in] pszSearchFilter
String filter pencarian dalam format LDAP, seperti "(objectClass=user)".
[in] pAttributeNames
Array nama atribut yang datanya diminta. Jika NULL, dwNumberAttributes harus 0 atau 0xFFFFFFFF.
[in] dwNumberAttributes
Ukuran array pAttributeNames . Nilai khusus 0xFFFFFFFF menunjukkan bahwa pAttributeNames diabaikan dan dapat berupa NULL. Nilai khusus ini berarti bahwa semua atribut yang ditetapkan diminta. Jika nilai ini adalah 0 array pAttributeNames bisa null. Tidak ada atribut yang akan diminta.
[out] phSearchResult
Alamat handel yang dialokasikan metode ke konteks pencarian. Penelepon meneruskan handel ini ke metode lain dari IDirectorySearch untuk memeriksa hasil pencarian. Jika NULL, pencarian tidak dapat dijalankan.
Mengembalikan nilai
Metode ini mengembalikan nilai pengembalian standar, serta yang berikut ini:
Untuk informasi selengkapnya dan nilai pengembalian lainnya, lihat Kode Kesalahan ADSI.
Keterangan
Ketika filter pencarian (pszSearchFilter) berisi atribut jenis ADS_UTC_TIME , nilainya harus dalam format "yymmddhhmmssZ" di mana "y", "m", "d", "h", "m" dan "s" berdiri masing-masing untuk tahun, bulan, hari, jam, menit, dan kedua. Dalam format ini, misalnya, "10:20:00 13Mei 1999" menjadi "990513102000Z". Huruf akhir "Z" adalah sintaks yang diperlukan dan menunjukkan Waktu Zulu atau Waktu Terkoordinasi Universal.
Pemanggil harus memanggil IDirectorySearch::CloseSearchHandle untuk merilis memori yang dialokasikan untuk handel pencarian dan hasilnya.
Saat menggunakan nilai khusus 0xFFFFFFFF untuk dwNumberAttributes, pengambilan LDAP ADsPath atau distinguishedName tidak memiliki sumber daya atau biaya waktu tambahan.
Contoh
Contoh kode C++ berikut menunjukkan cara memanggil IDirectorySearch::ExecuteSearch.
LPWSTR pszAttr[] = { L"ADsPath", L"Name", L"samAccountName" };
ADS_SEARCH_HANDLE hSearch;
DWORD dwCount= sizeof(pszAttr)/sizeof(LPWSTR);
// Search for users with a last name that begins with "h".
hr = m_pSearch->ExecuteSearch(L"(&(objectClass=user)(sn=h*))", pszAttr, dwCount, &hSearch );
Persyaratan
Klien minimum yang didukung | Windows Vista |
Server minimum yang didukung | Windows Server 2008 |
Target Platform | Windows |
Header | iads.h |
DLL | Activeds.dll; Adsldp.dll; Adsldpc.dll |