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 |