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.
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 |