CENUMSCH.H
/*++ 
 
Copyright (c) 1996 Microsoft Corporation 
 
Module Name: 
 
    EnumSch.h 
 
Abstract: 
 
Author: 
 
Environment: 
 
    User mode 
 
Revision History : 
 
--*/ 
#ifndef _ENUMSCH_H_ 
#define _ENUMSCH_H_ 
 
class FAR CSampleDSSchemaEnum : public CSampleDSEnumVariant 
{ 
public: 
    // IEnumVARIANT methods 
    STDMETHOD(Next)( 
        ULONG cElements, 
        VARIANT FAR* pvar, 
        ULONG FAR* pcElementFetched 
        ); 
 
    static 
    HRESULT 
    Create( 
        CSampleDSSchemaEnum FAR* FAR* ppenumvariant, 
        BSTR bstrSampleDSTreeName, 
        BSTR bstrADsPath, 
        BSTR bstrDomainName, 
        VARIANT var 
        ); 
 
    CSampleDSSchemaEnum(); 
    ~CSampleDSSchemaEnum(); 
 
    HRESULT 
    EnumObjects( 
        ULONG cElements, 
        VARIANT FAR * pvar, 
        ULONG FAR * pcElementFetched 
        ); 
 
private: 
 
    ObjectTypeList FAR *_pObjList; 
    //HANDLE _hOperationData; 
    //HANDLE _hTree; 
     
    LPSampleDS_ATTR_DEF _lpAttrDefs; 
    DWORD _dwAttrCurrent; 
    DWORD _dwAttrReturned; 
 
 
    BSTR        _bstrName; 
    BSTR        _bstrSampleDSTreeName; 
    BSTR        _bstrADsPath; 
 
    LPSampleDS_CLASS_DEF _lpClassDefs; 
    DWORD       _dwClassCurrent; 
    DWORD       _dwClassReturned; 
     
    //DWORD       _dwCurrentEntry; 
    //DWORD       _dwInfoType; 
 
    HRESULT 
    CSampleDSSchemaEnum::GetClassObject( 
        IDispatch **ppDispatch 
        ); 
 
    HRESULT 
    EnumClasses( 
        ULONG cElements, 
        VARIANT FAR* pvar, 
        ULONG FAR* pcElementFetched 
        ); 
 
    HRESULT 
    CSampleDSSchemaEnum::EnumObjects( 
        DWORD ObjectType, 
        ULONG cElements, 
        VARIANT FAR * pvar, 
        ULONG FAR * pcElementFetched 
        ); 
     
    HRESULT 
    CSampleDSSchemaEnum::EnumProperties( 
        ULONG cElements, 
        VARIANT FAR* pvar, 
        ULONG FAR* pcElementFetched 
        ); 
     
    HRESULT 
    CSampleDSSchemaEnum::GetPropertyObject( 
        IDispatch ** ppDispatch 
        ); 
}; 
 
#endif