// DriverPackagesEnum.h: Definition of the CDriverPackagesEnum class // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_DRIVERSENUM_H__840AC5A2_6A60_42B5_8CC7_FF67A2EA72B5__INCLUDED_) #define AFX_DRIVERSENUM_H__840AC5A2_6A60_42B5_8CC7_FF67A2EA72B5__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "resource.h" // main symbols ///////////////////////////////////////////////////////////////////////////// // CDriverPackagesEnum class CDriverPackage; class ATL_NO_VTABLE CDriverPackagesEnum : public IDriverPackagesEnum, public CComObjectRootEx { protected: CDriverPackage** pDrivers; DWORD Count; DWORD Position; public: BOOL CopyDrivers(CDriverPackage ** pArray,DWORD Count); CDriverPackagesEnum() { pDrivers = NULL; Count = 0; Position = 0; } ~CDriverPackagesEnum(); BEGIN_COM_MAP(CDriverPackagesEnum) COM_INTERFACE_ENTRY(IEnumVARIANT) COM_INTERFACE_ENTRY(IDriverPackagesEnum) END_COM_MAP() DECLARE_NOT_AGGREGATABLE(CDriverPackagesEnum) // IDriverPackagesEnum public: STDMETHOD(Next)( /*[in]*/ ULONG celt, /*[out, size_is(celt), length_is(*pCeltFetched)]*/ VARIANT * rgVar, /*[out]*/ ULONG * pCeltFetched ); STDMETHOD(Skip)( /*[in]*/ ULONG celt ); STDMETHOD(Reset)( ); STDMETHOD(Clone)( /*[out]*/ IEnumVARIANT ** ppEnum ); }; #endif // !defined(AFX_DRIVERSENUM_H__840AC5A2_6A60_42B5_8CC7_FF67A2EA72B5__INCLUDED_)