Metodo IDirectorySearch::ExecuteSearch (iads.h)

Il metodo IDirectorySearch::ExecuteSearch esegue una ricerca e passa i risultati al chiamante. Alcuni provider, ad esempio LDAP, rinvieranno l'esecuzione effettiva finché il chiamante richiama il metodo IDirectorySearch::GetFirstRow o il metodo IDirectorySearch::GetNextRow .

Sintassi

HRESULT ExecuteSearch(
  [in]  LPWSTR             pszSearchFilter,
  [in]  LPWSTR             *pAttributeNames,
  [in]  DWORD              dwNumberAttributes,
  [out] PADS_SEARCH_HANDLE phSearchResult
);

Parametri

[in] pszSearchFilter

Stringa di filtro di ricerca in formato LDAP, ad esempio "(objectClass=user)".

[in] pAttributeNames

Matrice di nomi di attributi per i quali vengono richiesti i dati. Se NULL, dwNumberAttributes deve essere 0 o 0xFFFFFFFF.

[in] dwNumberAttributes

Dimensione della matrice pAttributeNames . Il valore speciale 0xFFFFFFFF indica che pAttributeNames viene ignorato e può essere NULL. Questo valore speciale indica che vengono richiesti tutti gli attributi impostati. Se questo valore è 0, la matrice pAttributeNames può essere NULL. Non verrà richiesto alcun attributo.

[out] phSearchResult

Indirizzo di un handle allocato dal metodo al contesto di ricerca. Il chiamante passa questo handle ad altri metodi di IDirectorySearch per esaminare il risultato della ricerca. Se NULL, la ricerca non può essere eseguita.

Valore restituito

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

Per altre informazioni e altri valori restituiti, vedere Codici di errore ADSI.

Commenti

Quando il filtro di ricerca (pszSearchFilter) contiene un attributo di tipo ADS_UTC_TIME , il valore deve essere del formato "ymmddhhmmssZ" dove "y", "m", "h", "m" e "s" devono essere rispettivamente anno, mese, giorno, ora, minuto e secondo. In questo formato, ad esempio, "10:20:0013 maggio 1999" diventa "990513102000Z". La lettera finale "Z" è la sintassi necessaria e indica Zulu Time o Universal Coordinated Time.

Il chiamante deve chiamare IDirectorySearch::CloseSearchHandle per rilasciare la memoria allocata per l'handle di ricerca e il risultato.

Quando si usa il valore speciale di 0xFFFFFFFF per dwNumberAttributes, il recupero LDAP di ADsPath o distinguishedName non comporta costi aggiuntivi per risorse o tempi.

Esempio

L'esempio di codice C++ seguente illustra come richiamare IDirectorySearch::ExecuteSearch.

LPWSTR pszAttr[] = { L"ADsPath", L"Name", L"samAccountName" };
ADS_SEARCH_HANDLE hSearch;
DWORD dwCount= sizeof(pszAttr)/sizeof(LPWSTR);
 
// Search for users with a last name that begins with "h".
hr = m_pSearch->ExecuteSearch(L"(&(objectClass=user)(sn=h*))", pszAttr, dwCount, &hSearch );

Requisiti

   
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::CloseSearchHandle

IDirectorySearch::GetFirstRow

IDirectorySearch::GetNextRow