Método IDirectorySearch::GetNextRow (iads.h)

O método GetNextRow obtém a próxima linha do resultado da pesquisa. Se IDirectorySearch::GetFirstRow não tiver sido chamado, GetNextRow emitirá uma nova pesquisa a partir da primeira linha. Caso contrário, esse método avançará para a próxima linha.

Sintaxe

HRESULT GetNextRow(
  [in] ADS_SEARCH_HANDLE hSearchResult
);

Parâmetros

[in] hSearchResult

Contém o identificador de pesquisa obtido chamando IDirectorySearch::ExecuteSearch.

Valor retornado

Esse método retorna os valores de retorno padrão, bem como o seguinte:

Para obter mais informações, consulte Códigos de erro ADSI.

Comentários

Quando o sinalizador ADS_SEARCHPREF_CACHE_RESULTS não está definido, somente a rolagem para frente é permitida, pois o cliente pode não armazenar em cache todos os resultados da consulta.

O provedor de diretório pode limitar o número máximo de linhas disponíveis em uma pesquisa. Por exemplo, em um domínio do Windows, o número máximo de linhas que serão fornecidas em uma pesquisa do Active Directory é de 1000 linhas. Se a pesquisa resultar em mais do que o limite de linha, uma pesquisa paginada deverá ser executada para obter todas as linhas na pesquisa. Para obter mais informações sobre pesquisas paginadas, consulte Paginação com IDirectorySearch.

Exemplos

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

Requisitos

   
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho iads.h
DLL Activeds.dll; Adsldp.dll; Adsldpc.dll

Confira também

Códigos de erro ADSI

ADsGetLastError

Idirectorysearch

IDirectorySearch::ExecuteSearch

IDirectorySearch::GetFirstRow