Condividi tramite


Metodo IDirectorySearch::GetFirstRow (iads.h)

Il metodo GetFirstRow ottiene la prima riga di un risultato di ricerca. Questo metodo eseguirà o ripubblicerà una nuova ricerca, anche se questo metodo è stato chiamato in precedenza.

Sintassi

HRESULT GetFirstRow(
  [in] ADS_SEARCH_HANDLE hSearchResult
);

Parametri

[in] hSearchResult

Contiene l'handle di ricerca ottenuto chiamando IDirectorySearch::ExecuteSearch.

Valore restituito

Questo metodo restituisce i valori restituiti standard, nonché i seguenti:

Per altre informazioni, vedere Codici di errore ADSI.

Commenti

Quando il flag ADS_SEARCHPREF_CACHE_RESULTS non è impostato, ovvero FALSE, è consentito solo lo scorrimento avanti, perché il client potrebbe non memorizzare nella cache tutti i risultati della query. La chiamata a GetFirstRow più volte dalla stessa riga richiede uno scorrimento indietro e potrebbe causare risultati errati per una ricerca di paging o una ricerca asincrona avviata tramite OLE DB quando i risultati non sono garantiti per rimanere nella cache.

Esempio

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

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione iads.h
DLL Activeds.dll; Adsldp.dll; Adsldpc.dll

Vedi anche

Codici di errore ADSI

IDirectorySearch

IDirectorySearch::ExecuteSearch