Directory Services |
The IDirectorySearch::GetPreviousRow method gets the previous row of the search result. If the provider does not provide cursor support, it should return E_NOTIMPL.
HRESULT GetPreviousRow( ADS_SEARCH_HANDLE hSearchHandle );
This method returns the standard return values, as well as the following:
For other return values, see ADSI Error Codes.
Return Code | Description |
---|---|
S_OK | The previous row was successfully obtained. |
E_NOTIMPL | The provider does not provide the cursor support for search. |
When the ADS_SEARCHPREF_CACHE_RESULTS flag is not set, only forward scrolling is permitted, because the client might not cache all the query results.
hr = m_pSearch->ExecuteSearch(L"(&(objectCategory=user)(st=WA))", pszAttr, dwCount, &hSearch ); if ( SUCCEEDED(hr) ) { while( m_pSearch->GetNextRow(hSearch) != S_ADS_NOMORE_ROWS ) { /* Get the data */ } // Print it backward hr = m_pSearch->GetPreviousRow( hSearch ); while( hr != S_ADS_NOMORE_ROWS && hr != E_NOTIMPL) { /* Get the data */ } m_pSearch->CloseSearchHandle(hSearch); }
Client: Included in Windows XP and
Windows 2000 Professional.
Server: Included in Windows Server 2003 and
Windows 2000 Server.
Redistributable: Requires Active Directory Client Extension
on Windows NT 4.0 SP6a and Windows 95/98/Me.
Header: Declared in Iads.h.