Méthode IDirectorySearch::ExecuteSearch (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 méthode au contexte de recherche. L’appelant passe ce handle à d’autres méthodes d’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 , sa valeur doit être au format « yymmddhhmmssZ » où « y », « m », « d », « h », « m » et « s » correspondent respectivement à l’année, au mois, au jour, à l’heure, à la minute et à la seconde. Dans ce format, par exemple, « 10:20:00 le13 mai 1999 » devient « 990513102000Z ». La lettre finale « Z » est la syntaxe requise et indique zulu time ou universal coordinated time.
L’appelant doit appeler IDirectorySearch::CloseSearchHandle pour libérer la mémoire allouée pour le handle de recherche et le résultat.
Lors de l’utilisation de la valeur spéciale de 0xFFFFFFFF pour dwNumberAttributes, la récupération LDAP d’ADsPath ou de 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 );
Spécifications
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 |