Platform SDK: Active Directory, ADSI, and Directory Services |
The IDirectorySearch::AbandonSearch method abandons a search that an earlier call to the ExecuteSearch method initiated.
HRESULT AbandonSearch( ADS_SEARCH_HANDLE hSearchHandle );
This method returns the standard return values, including S_OK if the first row is obtained successfully.
For other return values, see ADSI Error Codes.
IDirectorySearch::AbandonSearch may be used if the Page_Size or Asynchronous options can be specified through IDirectorySearch::SetSearchPreference before the search is executed.
LPWSTR pszAttr[] = { L"ADsPath", L"Name", L"samAccountName" }; ADS_SEARCH_HANDLE hSearch; DWORD dwCount= sizeof(pszAttr)/sizeof(LPWSTR); //////////////////////////////////////////////////////////////////// //NOTE: Assume the Page Size has been set using SetSearchPreference // For brevity, omit error handling. //////////////////////////////////////////////////////////////////// // Search for all users with a last name that starts with h. hr = m_pSearch->ExecuteSearch(L"(&(objectClass=user)(sn=h*))", pszAttr, dwCount, &hSearch ); while( m_pSearch->GetNextRow( hSearch) != S_ADS_NOMORE_ROWS ) { // Get the samAccountName hr = m_pSearch->GetColumn( hSearch, pszAttr[2], &col ); if ( !SUCCEEDED(hr) ) { hr = m_pSearch->AbandonSearch( hSearch ); hr = m_pSearch->CloseSearchHandle(hSearch); m_pSearch->Release(); break; } printf("%S\n", col.pADsValues->CaseIgnoreString); m_pSearch->FreeColumn( &col ); } m_pSearch->CloseSearchHandle( hSearch );
Windows NT/2000: Requires Windows 2000 (or Windows NT 4.0 with DSClient).
Windows 95/98: Requires Windows 95 or later (with DSClient).
Header: Declared in Iads.h.
IDirectorySearch, IDirectorySearch::ExecuteSearch, IDirectorySearch::SetSearchPreference, ADSI Error Codes