Condividi tramite


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

Vedi anche

Codici di errore ADSI

ADsGetLastError

IDirectorySearch

IDirectorySearch::ExecuteSearch

IDirectorySearch::GetFirstRow