Partager via


IDirectorySearch ::GetFirstRow, méthode (iads.h)

La méthode GetFirstRow obtient la première ligne d’un résultat de recherche. Cette méthode émet ou réédite une nouvelle recherche, même si cette méthode a déjà été appelée.

Syntaxe

HRESULT GetFirstRow(
  [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.

Remarques

Lorsque l’indicateur ADS_SEARCHPREF_CACHE_RESULTS n’est pas défini, c’est-à-dire FALSE, 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. L’appel de GetFirstRow plusieurs fois à partir de la même ligne nécessite un défilement arrière et peut entraîner des résultats erronés pour une recherche paginée ou asynchrone lancée via OLE DB lorsque les résultats ne sont pas garantis de rester dans le cache.

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);
}

Configuration requise

Condition requise Valeur
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

IDirectorySearch

IDirectorySearch ::ExecuteSearch