IDirectorySearch::ExecuteSearch-Methode (iads.h)

Die IDirectorySearch::ExecuteSearch-Methode führt eine Suche aus und übergibt die Ergebnisse an den Aufrufer. Einige Anbieter, z. B. LDAP, werden die tatsächliche Ausführung zurückstellen, bis der Aufrufer die IDirectorySearch::GetFirstRow-Methode oder die IDirectorySearch::GetNextRow-Methode aufruft.

Syntax

HRESULT ExecuteSearch(
  [in]  LPWSTR             pszSearchFilter,
  [in]  LPWSTR             *pAttributeNames,
  [in]  DWORD              dwNumberAttributes,
  [out] PADS_SEARCH_HANDLE phSearchResult
);

Parameter

[in] pszSearchFilter

Eine Suchfilterzeichenfolge im LDAP-Format, z. B. "(objectClass=user)".

[in] pAttributeNames

Ein Array von Attributnamen, für die Daten angefordert werden. Wenn NULL, muss dwNumberAttributes 0 oder 0xFFFFFFFF sein.

[in] dwNumberAttributes

Die Größe des pAttributeNames-Arrays . Der spezielle Wert 0xFFFFFFFF gibt an, dass pAttributeNames ignoriert wird und NULL sein kann. Dieser besondere Wert bedeutet, dass alle Attribute, die festgelegt werden, angefordert werden. Wenn dieser Wert 0 ist, kann das pAttributeNames-ArrayNULL sein. Es wird kein Attribut angefordert.

[out] phSearchResult

Die Adresse eines Methode zugewiesenen Handles für den Suchkontext. Der Aufrufer übergibt diesen Handle an andere Methoden von IDirectorySearch , um das Suchergebnisse zu untersuchen. Wenn NULL nicht ausgeführt werden kann, kann die Suche nicht ausgeführt werden.

Rückgabewert

Diese Methode gibt die Standardrückgabewerte sowie folgendes zurück:

Weitere Informationen und andere Rückgabewerte finden Sie unter ADSI-Fehlercodes.

Hinweise

Wenn der Suchfilter (pszSearchFilter) ein Attribut des typs ADS_UTC_TIME enthält, muss es sich um das Format "yymmddhhmmsZ" befinden, wobei "y", "m", "d", "h", "m" und "s" für Jahr, Monat, Tag, Stunde, Minute und Sekunde stehen. In diesem Format wird z. B. "10:20:00 Mai13 13 1999" zu "990513102000Z". Der endgültige Buchstabe "Z" ist die erforderliche Syntax und angegebene Zulu-Zeit oder universelle koordinierte Zeit.

Der Aufrufer muss IDirectorySearch::CloseSearchHandle aufrufen, um den für den Suchhandpunkt und das Ergebnis zugewiesenen Speicher zu freigeben.

Wenn Sie den speziellen Wert von 0xFFFFFFFF für dwNumberAttributes verwenden, weist der LDAP-Abruf von ADsPath oder distinguishedName keine zusätzlichen Ressourcen- oder Zeitkosten auf.

Beispiele

Im folgenden C++-Codebeispiel wird gezeigt, wie IDirectorySearch::ExecuteSearch aufgerufen wird.

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 );

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile iads.h
DLL Activeds.dll; Adsldp.dll; Adsldpc.dll

Weitere Informationen

ADSI-Fehlercodes

Idirectorysearch

IDirectorySearch::CloseSearchHandle

IDirectorySearch::GetFirstRow

IDirectorySearch::GetNextRow