home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / netds / adsi / sampprov / cenumsch.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-29  |  2.0 KB  |  110 lines

  1. /*++
  2.  
  3. Copyright (c) 1996 Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     EnumSch.h
  8.  
  9. Abstract:
  10.  
  11. Author:
  12.  
  13. Environment:
  14.  
  15.     User mode
  16.  
  17. Revision History :
  18.  
  19. --*/
  20. #ifndef _ENUMSCH_H_
  21. #define _ENUMSCH_H_
  22.  
  23. class FAR CSampleDSSchemaEnum : public CSampleDSEnumVariant
  24. {
  25. public:
  26.     // IEnumVARIANT methods
  27.     STDMETHOD(Next)(
  28.         ULONG cElements,
  29.         VARIANT FAR* pvar,
  30.         ULONG FAR* pcElementFetched
  31.         );
  32.  
  33.     static
  34.     HRESULT
  35.     Create(
  36.         CSampleDSSchemaEnum FAR* FAR* ppenumvariant,
  37.         BSTR bstrSampleDSTreeName,
  38.         BSTR bstrADsPath,
  39.         BSTR bstrDomainName,
  40.         VARIANT var
  41.         );
  42.  
  43.     CSampleDSSchemaEnum();
  44.     ~CSampleDSSchemaEnum();
  45.  
  46.     HRESULT
  47.     EnumObjects(
  48.         ULONG cElements,
  49.         VARIANT FAR * pvar,
  50.         ULONG FAR * pcElementFetched
  51.         );
  52.  
  53. private:
  54.  
  55.     ObjectTypeList FAR *_pObjList;
  56.     //HANDLE _hOperationData;
  57.     //HANDLE _hTree;
  58.     
  59.     LPSampleDS_ATTR_DEF _lpAttrDefs;
  60.     DWORD _dwAttrCurrent;
  61.     DWORD _dwAttrReturned;
  62.  
  63.  
  64.     BSTR        _bstrName;
  65.     BSTR        _bstrSampleDSTreeName;
  66.     BSTR        _bstrADsPath;
  67.  
  68.     LPSampleDS_CLASS_DEF _lpClassDefs;
  69.     DWORD       _dwClassCurrent;
  70.     DWORD       _dwClassReturned;
  71.     
  72.     //DWORD       _dwCurrentEntry;
  73.     //DWORD       _dwInfoType;
  74.  
  75.     HRESULT
  76.     CSampleDSSchemaEnum::GetClassObject(
  77.         IDispatch **ppDispatch
  78.         );
  79.  
  80.     HRESULT
  81.     EnumClasses(
  82.         ULONG cElements,
  83.         VARIANT FAR* pvar,
  84.         ULONG FAR* pcElementFetched
  85.         );
  86.  
  87.     HRESULT
  88.     CSampleDSSchemaEnum::EnumObjects(
  89.         DWORD ObjectType,
  90.         ULONG cElements,
  91.         VARIANT FAR * pvar,
  92.         ULONG FAR * pcElementFetched
  93.         );
  94.     
  95.     HRESULT
  96.     CSampleDSSchemaEnum::EnumProperties(
  97.         ULONG cElements,
  98.         VARIANT FAR* pvar,
  99.         ULONG FAR* pcElementFetched
  100.         );
  101.     
  102.     HRESULT
  103.     CSampleDSSchemaEnum::GetPropertyObject(
  104.         IDispatch ** ppDispatch
  105.         );
  106. };
  107.  
  108. #endif
  109.  
  110.