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

El método GetFirstRow obtiene la primera fila de un resultado de búsqueda. Este método emitirá o volverá a emitir una nueva búsqueda, incluso si se ha llamado a este método antes.

Sintaxis

HRESULT GetFirstRow(
  [in] ADS_SEARCH_HANDLE hSearchResult
);

Parámetros

[in] hSearchResult

Contiene el identificador de búsqueda obtenido mediante una llamada 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 de ADS_SEARCHPREF_CACHE_RESULTS , es decir, FALSE, solo se permite el desplazamiento hacia delante, ya que es posible que el cliente no almacene en caché todos los resultados de la consulta. Llamar a GetFirstRow más de una vez desde la misma fila requiere algún desplazamiento hacia atrás y podría dar lugar a resultados erróneos de una búsqueda paginada o asincrónica iniciada a través de OLE DB cuando no se garantiza que los resultados permanezcan en la memoria caché.

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

Requisito Value
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

IDirectorySearch

IDirectorySearch::ExecuteSearch