Share via


ADS_VLV struttura (iads.h)

La struttura ADS_VLV contiene metadati usati per eseguire ricerche VLV (Virtual List View). Questa struttura serve due ruoli. In primo luogo, specifica le preferenze di ricerca inviate al server. In secondo luogo, restituisce i metadati VLV dal server.

Sintassi

typedef struct _ads_vlv {
  DWORD  dwBeforeCount;
  DWORD  dwAfterCount;
  DWORD  dwOffset;
  DWORD  dwContentCount;
  LPWSTR pszTarget;
  DWORD  dwContextIDLength;
  LPBYTE lpContextID;
} ADS_VLV, *PADS_VLV;

Members

dwBeforeCount

Indica il numero di voci, prima della voce di destinazione, che il client richiede dal server.

dwAfterCount

Indica il numero di voci, dopo la voce di destinazione, che il client richiede dal server.

dwOffset

In input, indica l'offset richiesto dalla voce di destinazione all'interno dell'elenco. Se il client specifica un offset che equivale al conteggio del contenuto assunto dal client, la destinazione è l'ultima voce dell'elenco. In output, indica la stima migliore del server in base all'offset effettivo della posizione della voce di destinazione restituita nell'elenco.

dwContentCount

Il valore di input rappresenta il valore stimato del client per il conteggio dei contenuti. Il valore di output è la stima del numero di contenuti del server. Se il client invia un numero di contenuto pari a zero, questo significa che il server deve usare la stima del conteggio del contenuto al posto del client.

pszTarget

Facoltativa. Stringa Unicode con terminazione null che indica la voce di destinazione desiderata richiesta dal client. Se questo parametro contiene un valore non NULL , il server ignora il valore specificato in dwOffset e cerca la prima voce di destinazione il cui valore per la chiave di ordinamento primaria è maggiore o uguale alla stringa specificata, in base all'ordine di ordinamento dell'elenco.

dwContextIDLength

Facoltativa. Parametro che indica la lunghezza dell'identificatore di contesto. In input, se si passa un identificatore di contesto in lpContextID, è necessario impostare le dimensioni dell'identificatore in byte. In caso contrario, deve essere impostato uguale a zero. Nell'output, se lpContextID contiene un valore non NULL , questo indica la lunghezza, in byte, dell'ID di contesto restituito dal server.

lpContextID

Facoltativa. Indica l'identificatore di contesto generato dal server. Questo parametro può essere inviato ai client. Se un client riceve questo parametro, deve restituirlo invariato in una richiesta successiva che si riferisce allo stesso elenco. Questa interazione può migliorare le prestazioni e l'efficacia dei server. Se non passa un identificatore di contesto al server, questo membro deve essere impostato sul valore NULL . In output, se questo membro contiene un valore non NULL , questo punta all'ID di contesto restituito dal server.

Commenti

Per impostare VLV by dwContentCount e dwOffset, è necessario impostare anche pszTarget su un valore NULL . Se pszTarget contiene un valore non NULL , viene usato come offset, in caso contrario, lOffset viene usato come offset. È consigliabile inizializzare la struttura su zero.

Esempio

Nell'esempio di codice seguente viene illustrato come recuperare le prime 30 voci in un set di risultati.

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);

Nell'esempio di codice seguente viene illustrato come recuperare le prime 50 voci in un set di risultati che inizia con le lettere "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.

Nell'esempio di codice seguente viene illustrato come recuperare le prime 100 voci nella destinazione approssimativa del 60%, presupponendo che il server restituito in precedenza dwContentCount come 4294.

Nota vlvResp rappresenta una struttura ADS_VLV restituita in precedenza dal 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;

Requisiti

   
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Intestazione iads.h

Vedi anche

ADS_SEARCHPREF_ENUM

Come eseguire ricerche tramite VLV

IDirectorySearch