struktur ADS_VLV (iads.h)
Struktur ADS_VLV berisi metadata yang digunakan untuk melakukan pencarian tampilan daftar virtual (VLV). Struktur ini melayani dua peran. Pertama, ini menentukan preferensi pencarian yang dikirim ke server. Kedua, mengembalikan metadata VLV dari server.
Sintaks
typedef struct _ads_vlv {
DWORD dwBeforeCount;
DWORD dwAfterCount;
DWORD dwOffset;
DWORD dwContentCount;
LPWSTR pszTarget;
DWORD dwContextIDLength;
LPBYTE lpContextID;
} ADS_VLV, *PADS_VLV;
Anggota
dwBeforeCount
Menunjukkan jumlah entri, sebelum entri target, yang diminta klien dari server.
dwAfterCount
Menunjukkan jumlah entri, setelah entri target, yang diminta klien dari server.
dwOffset
Pada input, menunjukkan offset entri target yang diminta dalam daftar. Jika klien menentukan offset yang sama dengan jumlah konten yang diasumsikan klien, maka targetnya adalah entri terakhir dalam daftar. Pada output, menunjukkan perkiraan terbaik server tentang offset aktual dari posisi entri target yang dikembalikan dalam daftar.
dwContentCount
Nilai input mewakili perkiraan nilai klien untuk jumlah konten. Nilai output adalah perkiraan server dari jumlah konten. Jika klien mengirim jumlah konten nol, ini berarti bahwa server harus menggunakan perkiraan jumlah konten sebagai pengganti klien.
pszTarget
Opsional. Untai (karakter) Unicode yang dihentikan null yang menunjukkan entri target yang diinginkan yang diminta oleh klien. Jika parameter ini berisi nilai non-NULL , server mengabaikan nilai yang ditentukan dalam dwOffset dan mencari entri target pertama yang nilainya untuk kunci sortir utama lebih besar dari atau sama dengan string yang ditentukan, berdasarkan urutan urutan daftar.
dwContextIDLength
Pilihan. Parameter yang menunjukkan panjang pengidentifikasi konteks. Pada input, jika meneruskan pengidentifikasi konteks di lpContextID, ini harus diatur ke ukuran pengidentifikasi dalam byte. Jika tidak, harus diatur sama dengan nol. Pada output, jika lpContextID berisi nilai non-NULL , ini menunjukkan panjang, dalam byte, dari ID konteks yang dikembalikan oleh server.
lpContextID
Pilihan. Menunjukkan pengidentifikasi konteks yang dihasilkan server. Parameter ini dapat dikirim ke klien. Jika klien menerima parameter ini, klien harus mengembalikannya tidak berubah dalam permintaan berikutnya yang berkaitan dengan daftar yang sama. Interaksi ini dapat meningkatkan performa dan efektivitas server. Jika tidak meneruskan pengidentifikasi konteks ke server, anggota ini harus diatur ke nilai NULL . Pada output, jika anggota ini berisi nilai non-NULL , ini menunjuk ke ID konteks yang dikembalikan oleh server.
Keterangan
Untuk mengatur VLV oleh dwContentCount dan dwOffset, Anda juga harus mengatur pszTarget ke nilai NULL . Jika pszTarget berisi nilai non-NULL , maka itu digunakan sebagai offset, jika tidak, lOffset digunakan sebagai offset. Disarankan agar Anda menginisialisasi struktur menjadi nol.
Contoh
Contoh kode berikut menunjukkan cara mengambil 30 entri pertama dalam kumpulan hasil.
ADS_SEARCHPREF_INFO prefInfo[2];
ADS_VLV vlv;
vlv.dwBeforeCount=0;
vlv.dwAfterCount=30;
vlv.dwOffset=1;
vlv.dwContentCount=0;
vlv.pszTarget = NULL;
vlv.dwContextIDLength = 0;
vlv.lpContextID = NULL;
// VLV set preferences.
prefInfo[0].dwSearchPref = ADS_SEARCHPREF_VLV;
prefInfo[0].vValue.dwType = ADSTYPE_PROV_SPECIFIC;
prefInfo[0].vValue.ProviderSpecific.dwLength = sizeof(ADS_VLV);
prefInfo[0].vValue.ProviderSpecific.lpValue = (LPBYTE) &vlv;
// Sort key set preferences.
prefInfo[1].dwSearchPref = ADS_SEARCHPREF_SORT_ON;
prefInfo[1].vValue.dwType = ADSTYPE_PROV_SPECIFIC;
prefInfo[1].vValue.ProviderSpecific.dwLength = sizeof(ADS_SORTKEY);
prefInfo[1].vValue.ProviderSpecific.lpValue = (LPBYTE) pSortKey;
hr = m_pSearch->SetSearchPreference(prefInfo, 2);
Contoh kode berikut menunjukkan cara mengambil 50 entri pertama dalam tataan hasil yang dimulai dengan huruf "Ha".
ADS_VLV vlv;
vlv.dwBeforeCount=0;
vlv.dwAfterCount=50;
vlv.pszTarget= L"Ha";
vlv.lpContextID = NULL;
vlv.dwContextIDLength = 0;
// For more information about how to set the preference, see the previous code example.
Contoh kode berikut menunjukkan cara mengambil 100 entri pertama pada perkiraan target 60%, dengan asumsi bahwa server sebelumnya mengembalikan dwContentCount sebagai 4294.
ADS_VLV vlv;
vlv.dwBeforeCount=50;
vlv.dwAfterCount=50;
vlv.dwOffset=2577;
vlv.dwContentCount=4294;
vlv.pszTarget = NULL;
vlv.dwContextIDLength = vlvResp.dwContextIDLength;
vlv.lpContextID = vlvResp.lpContextID;
Persyaratan
Klien minimum yang didukung | Windows Vista |
Server minimum yang didukung | Windows Server 2008 |
Header | iads.h |