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éécute une nouvelle recherche, même si cette méthode a été appelée précédemment.

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, autrement dit, FALSE, seul le défilement 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 une recherche 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

   
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