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

El método GetNextRow obtiene la siguiente fila del resultado de búsqueda. Si no se ha llamado a IDirectorySearch::GetFirstRow , GetNextRow emitirá una nueva búsqueda a partir de la primera fila. De lo contrario, este método avanzará a la siguiente fila.

Sintaxis

HRESULT GetNextRow(
  [in] ADS_SEARCH_HANDLE hSearchResult
);

Parámetros

[in] hSearchResult

Contiene el identificador de búsqueda obtenido llamando a IDirectorySearch::ExecuteSearch.

Valor devuelto

Este método devuelve los valores devueltos estándar, así como los siguientes:

Para obtener más información, consulta Códigos de error adsi.

Comentarios

Cuando no se establece la marca ADS_SEARCHPREF_CACHE_RESULTS , solo se permite el desplazamiento hacia delante, ya que es posible que el cliente no almacene en caché todos los resultados de la consulta.

El proveedor de directorios puede limitar el número máximo de filas disponibles en una búsqueda. Por ejemplo, en un dominio de Windows, el número máximo de filas que se proporcionarán en una búsqueda de Active Directory es de 1000 filas. Si la búsqueda da como resultado más que el límite de filas, se debe realizar una búsqueda paginada para obtener todas las filas de la búsqueda. Para obtener más información sobre las búsquedas paginadas, vea Paginación con IDirectorySearch.

Ejemplos

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 compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado iads.h
Archivo DLL Activeds.dll; Adsldp.dll; Adsldpc.dll

Consulte también

Códigos de error adsi

ADsGetLastError

IDirectorySearch

IDirectorySearch::ExecuteSearch

IDirectorySearch::GetFirstRow