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 |