IDirectorySearch::GetNextRow-Methode (iads.h)
Die GetNextRow-Methode ruft die nächste Zeile des Suchergebnisses ab. Wenn IDirectorySearch::GetFirstRow nicht aufgerufen wurde, stellt GetNextRow eine neue Suche aus der ersten Zeile aus. Andernfalls wird diese Methode zur nächsten Zeile vorankommen.
Syntax
HRESULT GetNextRow(
[in] ADS_SEARCH_HANDLE hSearchResult
);
Parameter
[in] hSearchResult
Enthält den Suchhandpunkt, der durch Aufrufen von IDirectorySearch::ExecuteSearch abgerufen wird.
Rückgabewert
Diese Methode gibt die Standardrückgabewerte sowie folgendes zurück:
Weitere Informationen finden Sie unter ADSI-Fehlercodes.
Bemerkungen
Wenn das ADS_SEARCHPREF_CACHE_RESULTS Flag nicht festgelegt ist, ist nur der Vorwärtslauf zulässig, da der Client möglicherweise nicht alle Abfrageergebnisse zwischenspeichert.
Der Verzeichnisanbieter kann die maximale Anzahl von Zeilen einschränken, die in einer Suche verfügbar sind. In einer Windows-Domäne beispielsweise beträgt die maximale Anzahl von Zeilen, die in einer Active Directory-Suche bereitgestellt werden, 1000 Zeilen. Wenn die Suchergebnisse in mehr als dem Zeilenlimit liegen, muss eine seitenseitige Suche ausgeführt werden, um alle Zeilen in der Suche abzurufen. Weitere Informationen zu seitenseitigen Suchvorgängen finden Sie unter "Paging with IDirectorySearch".
Beispiele
hr = m_pSearch->ExecuteSearch(L"(objectCategory=contact)", pszAttr, dwCount, &hSearch);
if(SUCCEEDED(hr))
{
while(SUCCEEDED(hr = m_pSearch->GetNextRow(hSearch)))
{
if(S_OK == hr)
{
// Get the data.
}
else if(S_ADS_NOMORE_ROWS == hr)
{
// Call ADsGetLastError to see if the search is waiting for a response.
DWORD dwError = ERROR_SUCCESS;
WCHAR szError[512];
WCHAR szProvider[512];
ADsGetLastError(&dwError, szError, 512, szProvider, 512);
if(ERROR_MORE_DATA != dwError)
{
break;
}
}
else
{
break;
}
}
m_pSearch->CloseSearchHandle(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 |