home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 27 / IOPROG_27.ISO / SOFT / ADSDK.ZIP / Samples / General / ADQI / DirectorySearch.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-04-08  |  3.1 KB  |  115 lines

  1. #if !defined(AFX_DIRECTORYSEARCH_H__8F1F13D1_0728_11D2_A3E8_0080C7D071BF__INCLUDED_)
  2. #define AFX_DIRECTORYSEARCH_H__8F1F13D1_0728_11D2_A3E8_0080C7D071BF__INCLUDED_
  3.  
  4. #if _MSC_VER >= 1000
  5. #pragma once
  6. #endif // _MSC_VER >= 1000
  7. // DirectorySearch.h : header file
  8. //
  9.  
  10. /////////////////////////////////////////////////////////////////////////////
  11. // CDlgIDirectorySearch dialog
  12.  
  13. class CDlgIDirectorySearch : public CDialog
  14. {
  15. // Construction
  16. public:
  17.     CDlgIDirectorySearch(LPUNKNOWN pUnk, CWnd* pParent = NULL);   // standard constructor
  18.     ~CDlgIDirectorySearch();
  19. // Dialog Data
  20.     //{{AFX_DATA(CDlgIDirectorySearch)
  21.     enum { IDD = IDD_IDIRECTORYSEARCH };
  22.     CEdit    m_cAttrList;
  23.     CListCtrl    m_cListView;
  24.     CComboBox    m_cChaseReferrals;
  25.     CButton    m_cCacheResult;
  26.     CComboBox    m_CADsSearchScope;
  27.     CButton    m_cEnableFilter;
  28.     CButton    m_cExecute;
  29.     CEdit    m_cFilter;
  30.     CString    m_sFilter;
  31.     BOOL    m_bEnableFilter;
  32.     UINT    m_nTimeOut;
  33.     BOOL    m_bCacheResult;
  34.     UINT    m_nPageSize;
  35.     CString    m_sSortOn;
  36.     UINT    m_nTimeLimit;
  37.     UINT    m_nSizeLimit;
  38.     BOOL    m_bAsynch;
  39.     BOOL    m_bAttrib;
  40.     int        m_nDeref;
  41.     //}}AFX_DATA
  42.  
  43.  
  44. // Overrides
  45.     // ClassWizard generated virtual function overrides
  46.     //{{AFX_VIRTUAL(CDlgIDirectorySearch)
  47.     protected:
  48.     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  49.     //}}AFX_VIRTUAL
  50.  
  51. // Implementation
  52. protected:
  53.     IDirectorySearch *m_pSearch;
  54.     // Generated message map functions
  55.     //{{AFX_MSG(CDlgIDirectorySearch)
  56.     afx_msg void OnExecute();
  57.     afx_msg void OnChangeFilter();
  58.     virtual BOOL OnInitDialog();
  59.     afx_msg void OnEnabled();
  60.     virtual void OnOK();
  61.     afx_msg void OnDblClickListView(NMHDR* pNMHDR, LRESULT* pResult);
  62.     //}}AFX_MSG
  63.     DECLARE_MESSAGE_MAP()
  64. };
  65.  
  66. //{{AFX_INSERT_LOCATION}}
  67. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  68.  
  69.  
  70.  
  71. class CADsSearch 
  72. {
  73. #define MAX_SEARCH_PREF  12
  74. public:
  75.     CADsSearch( IADs *pADs );
  76.     CADsSearch();
  77.     virtual ~CADsSearch();
  78.     
  79.     
  80.     HRESULT GetColumn( LPCTSTR pszCol, PADS_SEARCH_COLUMN pCol );
  81.     HRESULT GetColumn( CString &s, CStringList &sList );
  82.     HRESULT GetColumn( UINT nIndex, CStringList &sList );
  83.     HRESULT FreeColumn( PADS_SEARCH_COLUMN pCol );
  84.     HRESULT FormatColumn( PADS_SEARCH_COLUMN pColumn, CStringList &sList );
  85.     HRESULT SetInterface( IUnknown *pUnk );
  86.     PADS_SEARCHPREF_INFO FindSearchPrefence( ADS_SEARCHPREF pref );
  87.     
  88.     
  89.     void AddColumn( LPCTSTR pszColumn );
  90.     HRESULT Execute(LPCTSTR pszFilter );
  91.     HRESULT GetNextRow();
  92.     HRESULT SetSearchLevel( int flag );
  93.     HRESULT SetPageSize( UINT nPageSize );
  94.     HRESULT SetAttribOnly( BOOL bAttribOnly = TRUE);
  95.     HRESULT SetScope( ADS_SCOPEENUM flag );
  96.     void ResetSearchPref() { m_dwPrefCount=0; }
  97.  
  98.     HRESULT AddSearchPref( PADS_SEARCHPREF_INFO pSearchPrefs, DWORD dwNumPref = 1);
  99.     IDirectorySearch *GetSearchIf() { m_pSearch->AddRef(); return m_pSearch; }
  100.  
  101.     
  102.  
  103. protected:
  104.     IDirectorySearch    *m_pSearch;
  105.     ADS_SEARCH_HANDLE     m_hSearch;
  106.     ADS_SEARCHPREF_INFO  m_srchInfo[MAX_SEARCH_PREF];
  107.     DWORD                 m_dwPrefCount;
  108.     CStringList             m_sColumnList;
  109. };
  110.  
  111.  
  112.  
  113.  
  114. #endif // !defined(AFX_DIRECTORYSEARCH_H__8F1F13D1_0728_11D2_A3E8_0080C7D071BF__INCLUDED_)
  115.