Bagikan melalui


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.

Catatan vlvResp mewakili struktur ADS_VLV yang sebelumnya dikembalikan oleh server.
 
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

Lihat juga

ADS_SEARCHPREF_ENUM

Cara Mencari Menggunakan VLV

IDirectorySearch