CENUMNS.H
/*++ 
 
Copyright (c) 1996 Microsoft Corporation 
 
Module Name: 
 
    CEnumNs.h 
 
Abstract: 
 
Author: 
 
Environment: 
 
    User mode 
 
Revision History : 
 
--*/ 
#ifndef _CENUMNS_H_ 
#define _CENUMNS_H_ 
 
class FAR CSampleDSNamespaceEnum : public CSampleDSEnumVariant 
{ 
public: 
 
    // IEnumVARIANT methods 
    STDMETHOD(Next)(ULONG cElements, 
                    VARIANT FAR* pvar, 
                    ULONG FAR* pcElementFetched); 
 
    static HRESULT Create(CSampleDSNamespaceEnum FAR* FAR*, VARIANT var); 
 
    CSampleDSNamespaceEnum(); 
    ~CSampleDSNamespaceEnum(); 
 
    HRESULT 
    PrepBuffer(); 
 
    HRESULT 
    FetchNextObject( 
        IDispatch ** ppDispatch 
        ); 
 
    HRESULT 
    FetchObjects( 
        ULONG cElements, 
        VARIANT FAR* pvar, 
        ULONG FAR* pcElementFetched 
        ); 
 
    HRESULT 
    CSampleDSNamespaceEnum::EnumObjects( 
        ULONG cElements, 
        VARIANT FAR* pvar, 
        ULONG FAR* pcElementFetched 
        ); 
 
private: 
 
    ObjectTypeList FAR *_pObjList; 
 
    DWORD _dwEntriesRead; 
    DWORD _dwCurrentEntry; 
    HANDLE _hEnum; 
    LPVOID _pBuffer; 
    LPVOID _pBufferEnd; 
}; 
 
#endif