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

Voir aussi

Codes d’erreur ADSI

IDirectorySearch

IDirectorySearch::CloseSearchHandle

IDirectorySearch::GetFirstRow

IDirectorySearch::GetNextRow