IDirectorySearch::ExecuteSearch, méthode (iads.h)
La méthode IDirectorySearch::ExecuteSearch exécute une recherche et transmet les résultats à l’appelant. Certains fournisseurs, tels que LDAP, reportent l’exécution réelle jusqu’à ce que l’appelant appelle la méthode IDirectorySearch::GetFirstRow ou la méthode IDirectorySearch::GetNextRow .
Syntaxe
HRESULT ExecuteSearch(
[in] LPWSTR pszSearchFilter,
[in] LPWSTR *pAttributeNames,
[in] DWORD dwNumberAttributes,
[out] PADS_SEARCH_HANDLE phSearchResult
);
Paramètres
[in] pszSearchFilter
Chaîne de filtre de recherche au format LDAP, telle que « (objectClass=user) ».
[in] pAttributeNames
Tableau de noms d’attributs pour lesquels les données sont demandées. Si la valeur est NULL, dwNumberAttributes doit être 0 ou 0xFFFFFFFF.
[in] dwNumberAttributes
Taille du tableau pAttributeNames . La valeur spéciale 0xFFFFFFFF indique que pAttributeNames est ignoré et peut être NULL. Cette valeur spéciale signifie que tous les attributs définis sont demandés. Si cette valeur est 0, le tableau pAttributeNames peut avoir la valeur NULL. Aucun attribut n’est demandé.
[out] phSearchResult
Adresse d’un handle alloué par la méthode au contexte de recherche. L’appelant transmet ce handle à d’autres méthodes de IDirectorySearch pour examiner le résultat de la recherche. Si la valeur est NULL, la recherche ne peut pas être exécutée.
Valeur retournée
Cette méthode retourne les valeurs de retour standard, ainsi que les éléments suivants :
Pour plus d’informations et d’autres valeurs de retour, consultez Codes d’erreur ADSI.
Notes
Lorsque le filtre de recherche (pszSearchFilter) contient un attribut de type ADS_UTC_TIME , il doit s’agir du format « yymmddhhmmssZ », où « y », « m », « d », « h », « m » et « s » pour l’année, le mois, le jour, l’heure, la minute et la seconde, respectivement. Dans ce format, par exemple, « 10:20:0013 mai 1999 » devient « 990513102000Z ». La lettre finale « Z » est la syntaxe requise et indique le temps Zulu ou le temps coordonné universel.
L’appelant doit appeler IDirectorySearch::CloseSearchHandle pour libérer la mémoire allouée pour le handle de recherche et le résultat.
Lorsque vous utilisez la valeur spéciale de 0xFFFFFFFF pour dwNumberAttributes, la récupération LDAP d’ADsPath ou distinguishedName n’a aucun coût supplémentaire de ressources ou de temps.
Exemples
L’exemple de code C++ suivant montre comment appeler 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 );
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 |