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, verzögern die tatsächliche Ausführung, 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. Bei 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 methodenseitig zugeordneten Handles für den Suchkontext. Der Aufrufer übergibt dieses Handle an andere Methoden von IDirectorySearch , um das Suchergebnis zu untersuchen. Bei NULL 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 ADS_UTC_TIME Typs enthält, muss der Wert das Format "yymmddhhmmssZ" aufweisen, wobei "y", "m", "d", "h", "m" und "s" für Jahr, Monat, Tag, Stunde, Minute und Sekunde stehen. In diesem Format wird beispielsweise "10:20:0013 Mai 1999" zu "990513102000Z". Der letzte Buchstabe "Z" ist die erforderliche Syntax und wird als Zulu-Zeit oder universelle koordinierte Zeit angegeben.

Der Aufrufer muss IDirectorySearch::CloseSearchHandle aufrufen, um den für das Suchhandle und das Ergebnis zugewiesenen Arbeitsspeicher freizugeben.

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

Beispiele

Das folgende C++-Codebeispiel zeigt, 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