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

Voir aussi

Codes d’erreur ADSI

IDirectorySearch

IDirectorySearch::CloseSearchHandle

IDirectorySearch::GetFirstRow

IDirectorySearch::GetNextRow