windows-nt/Source/XPSP1/NT/admin/snapin/dsadmin/querysup.h
2020-09-26 16:20:57 +08:00

91 lines
2.3 KiB
C++

// DSQuery.h : Declaration of the CDSQuery object
// this is an internal helper object only, not exposed
//
//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1999
//
// File: DSQuery.h
//
// Contents: Query object for DS snapin
//
// History: 04-dec-96 jimharr Created
//
//--------------------------------------------------------------------------
#ifndef __DSQUERY_H__
#define __DSQUERY_H__
#include "dscmn.h" // DSPROP_BSTR_BLOCK
// this used to be 256, we dropped it to reduce latency on first page
// retrieval.
#define QUERY_PAGESIZE 50
#define CMD_OPTIONS 2
/////////////////////////////////////////////////////////////////////////////
// CDSSearch
class CDSSearch
{
public:
CDSSearch();
CDSSearch(CDSCache * pCache, CDSComponentData * pCD);
~CDSSearch();
// INTERFACES
public:
HRESULT Init(IDirectorySearch * pObj);
HRESULT Init(LPCWSTR lpszObjectPath);
HRESULT DoQuery();
HRESULT GetNextRow ();
HRESULT GetColumn(LPWSTR Attribute,
PADS_SEARCH_COLUMN pColumnData);
HRESULT FreeColumn(PADS_SEARCH_COLUMN pColumnData) {
return m_pObj->FreeColumn(pColumnData);
};
HRESULT SetCookieFromData (CDSCookie* pCookie,
CDSColumnSet* pColumnSet);
HRESULT SetCookieFromData (CDSCookie* pCookie,
CPathCracker& specialPerformancePathCracker,
CDSColumnSet* pColumnSet);
HRESULT SetAttributeList (LPTSTR *pszAttribs, INT cAttrs);
HRESULT SetAttributeListForContainerClass ( CDSColumnSet* pColumnSet);
HRESULT SetSearchScope (ADS_SCOPEENUM scope);
HRESULT SetFilterString (LPWSTR pszFilter) {
m_pwszFilter = pszFilter;
return S_OK;
};
//Attributes
public:
IDirectorySearch * m_pObj;
ADS_SEARCH_HANDLE m_SearchHandle;
protected:
LPWSTR m_pwszFilter;
DSPROP_BSTR_BLOCK m_pszAttribs;
CDSCache * m_pCache;
CDSComponentData * m_pCD;
ADS_SCOPEENUM m_scope;
private:
void _Reset();
BOOL m_bInitialized;
// JonN 6/29/99: must do extra work for container class nTFRSMember
CString m_strContainerClassName;
CMapStringToString m_mapMemberToComputer;
};
#endif //__DSQUERY_H__