Méthode IDirectorySearch::GetNextRow (iads.h)
La méthode GetNextRow obtient la ligne suivante du résultat de la recherche. Si IDirectorySearch::GetFirstRow n’a pas été appelé, GetNextRow émettra une nouvelle recherche à partir de la première ligne. Sinon, cette méthode passe à la ligne suivante.
Syntaxe
HRESULT GetNextRow(
[in] ADS_SEARCH_HANDLE hSearchResult
);
Paramètres
[in] hSearchResult
Contient le handle de recherche obtenu en appelant IDirectorySearch::ExecuteSearch.
Valeur retournée
Cette méthode retourne les valeurs de retour standard, ainsi que les éléments suivants :
Pour plus d’informations, consultez Codes d’erreur ADSI.
Notes
Lorsque l’indicateur ADS_SEARCHPREF_CACHE_RESULTS n’est pas défini, seul le défilement vers l’avant est autorisé, car le client peut ne pas mettre en cache tous les résultats de la requête.
Le fournisseur d’annuaires peut limiter le nombre maximal de lignes disponibles dans une recherche. Par exemple, sur un domaine Windows, le nombre maximal de lignes qui seront fournies dans une recherche Active Directory est de 1 000 lignes. Si la recherche génère plus que la limite de lignes, une recherche paginée doit être effectuée pour obtenir toutes les lignes de la recherche. Pour plus d’informations sur les recherches paginées, consultez Paging with IDirectorySearch.
Exemples
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);
}
Spécifications
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
Plateforme cible | Windows |
En-tête | iads.h |
DLL | Activeds.dll; Adsldp.dll; Adsldpc.dll |