|
|
//--------------LDAP----------------------------------------------------------
//
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1995
//
// File: cdssrch.cxx
//
// Contents: Microsoft ADs LDAP Provider Generic Object
//
//
// History: 03-02-97 ShankSh Created.
//
//----------------------------------------------------------------------------
#include "ldap.hxx"
#include "stdio.h"
#pragma hdrstop
//
// Sets the appropriate search preferences.
//
HRESULT CLDAPGenObject::SetSearchPreference( IN PADS_SEARCHPREF_INFO pSearchPrefs, IN DWORD dwNumPrefs ) {
HRESULT hr = S_OK;
//
// Need to initialize the searchprefs in case this fn
// is being called for the 2nd time.
//
LdapInitializeSearchPreferences(&_SearchPref, TRUE);
//
// Make sure that the last error is reset
//
Macro_ClearADsLastError(L"LDAP Provider");
hr = ADsSetSearchPreference( pSearchPrefs, dwNumPrefs, &_SearchPref, _pszLDAPServer, _pszLDAPDn, _Credentials, _dwPort );
RRETURN(hr); }
HRESULT CLDAPGenObject::ExecuteSearch( IN LPWSTR pszSearchFilter, IN LPWSTR * pAttributeNames, IN DWORD dwNumberAttributes, OUT PADS_SEARCH_HANDLE phSearchHandle ) {
HRESULT hr = S_OK;
//
// Make sure that the last error is reset
//
Macro_ClearADsLastError(L"LDAP Provider");
hr = ADsExecuteSearch( _SearchPref, _ADsPath, _pszLDAPServer, _pszLDAPDn, pszSearchFilter, pAttributeNames, dwNumberAttributes, phSearchHandle );
RRETURN(hr); }
HRESULT CLDAPGenObject::AbandonSearch( IN ADS_SEARCH_HANDLE hSearchHandle ) {
HRESULT hr = S_OK;
//
// Make sure that the last error is reset
//
Macro_ClearADsLastError(L"LDAP Provider");
hr = ADsAbandonSearch( hSearchHandle );
RRETURN(hr); }
HRESULT CLDAPGenObject::CloseSearchHandle ( IN ADS_SEARCH_HANDLE hSearchHandle ) { HRESULT hr = S_OK;
//
// Make sure that the last error is reset
//
Macro_ClearADsLastError(L"LDAP Provider");
hr = ADsCloseSearchHandle( hSearchHandle );
RRETURN(hr);
}
HRESULT CLDAPGenObject::GetFirstRow( IN ADS_SEARCH_HANDLE hSearchHandle ) { HRESULT hr = S_OK;
//
// Make sure that the last error is reset
//
Macro_ClearADsLastError(L"LDAP Provider");
hr = ADsGetFirstRow( hSearchHandle, _Credentials );
RRETURN(hr); }
HRESULT CLDAPGenObject::GetNextRow( IN ADS_SEARCH_HANDLE hSearchHandle ) { HRESULT hr = S_OK;
//
// Make sure that the last error is reset
//
Macro_ClearADsLastError(L"LDAP Provider");
hr = ADsGetNextRow( hSearchHandle, _Credentials );
RRETURN(hr); }
HRESULT CLDAPGenObject::GetPreviousRow( IN ADS_SEARCH_HANDLE hSearchHandle ) { HRESULT hr = S_OK;
//
// Make sure that the last error is reset
//
Macro_ClearADsLastError(L"LDAP Provider");
hr = ADsGetPreviousRow( hSearchHandle, _Credentials );
RRETURN(hr); }
HRESULT CLDAPGenObject::GetColumn( IN ADS_SEARCH_HANDLE hSearchHandle, IN LPWSTR pszColumnName, OUT PADS_SEARCH_COLUMN pColumn ) { HRESULT hr = S_OK;
//
// Make sure that the last error is reset
//
Macro_ClearADsLastError(L"LDAP Provider");
hr = ADsGetColumn( hSearchHandle, pszColumnName, _Credentials, _dwPort, pColumn );
RRETURN(hr); }
HRESULT CLDAPGenObject::GetNextColumnName( IN ADS_SEARCH_HANDLE hSearchHandle, OUT LPWSTR * ppszColumnName ) { HRESULT hr = S_OK;
//
// Make sure that the last error is reset
//
Macro_ClearADsLastError(L"LDAP Provider");
hr = ADsGetNextColumnName( hSearchHandle, ppszColumnName );
RRETURN(hr); }
HRESULT CLDAPGenObject::FreeColumn( IN PADS_SEARCH_COLUMN pColumn ) { HRESULT hr = S_OK;
//
// Make sure that the last error is reset
//
Macro_ClearADsLastError(L"LDAP Provider");
hr = ADsFreeColumn( pColumn );
RRETURN(hr); }
|