CENUMSCH.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:

Windows编程

开发平台:

Visual C++

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