Partager via


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

Voir aussi

Codes d’erreur ADSI

ADsGetLastError

IDirectorySearch

IDirectorySearch::ExecuteSearch

IDirectorySearch::GetFirstRow