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 |