Metodo IDirectorySearch::GetNextRow (iads.h)
Il metodo GetNextRow ottiene la riga successiva del risultato della ricerca. Se IDirectorySearch::GetFirstRow non è stato chiamato, GetNextRow eseguirà una nuova ricerca a partire dalla prima riga. In caso contrario, questo metodo passerà alla riga successiva.
Sintassi
HRESULT GetNextRow(
[in] ADS_SEARCH_HANDLE hSearchResult
);
Parametri
[in] hSearchResult
Contiene l'handle di ricerca ottenuto chiamando IDirectorySearch::ExecuteSearch.
Valore restituito
Questo metodo restituisce i valori restituiti standard, nonché quanto segue:
Per altre informazioni, vedere Codici di errore ADSI.
Commenti
Quando il flag di ADS_SEARCHPREF_CACHE_RESULTS non è impostato, è consentito solo lo scorrimento avanti, perché il client potrebbe non memorizzare nella cache tutti i risultati della query.
Il provider di directory può limitare il numero massimo di righe disponibili in una ricerca. Ad esempio, in un dominio Windows, il numero massimo di righe che verranno fornite in una ricerca di Active Directory è di 1000 righe. Se la ricerca restituisce più del limite di riga, è necessario eseguire una ricerca in pagina per ottenere tutte le righe nella ricerca. Per altre informazioni sulle ricerche impaginate, vedere Paging con IDirectorySearch.
Esempio
hr = m_pSearch->ExecuteSearch(L"(objectCategory=contact)", pszAttr, dwCount, &hSearch);
if(SUCCEEDED(hr))
{
while(SUCCEEDED(hr = m_pSearch->GetNextRow(hSearch)))
{
if(S_OK == hr)
{
// Get the data.
}
else if(S_ADS_NOMORE_ROWS == hr)
{
// Call ADsGetLastError to see if the search is waiting for a response.
DWORD dwError = ERROR_SUCCESS;
WCHAR szError[512];
WCHAR szProvider[512];
ADsGetLastError(&dwError, szError, 512, szProvider, 512);
if(ERROR_MORE_DATA != dwError)
{
break;
}
}
else
{
break;
}
}
m_pSearch->CloseSearchHandle(hSearch);
}
Requisiti
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | iads.h |
DLL | Activeds.dll; Adsldp.dll; Adsldpc.dll |