////////////////////////////////////////////////////////////////////////////// // // Copyright (c) 1999-2000 Microsoft Corporation // // Module Name: // EnumCookies.h // // Description: // CEnumCookies implementation. // // Maintained By: // Geoffrey Pease (GPease) 08-MAY-2000 // ////////////////////////////////////////////////////////////////////////////// #pragma once class CObjectManager; // CEnumCookies class CEnumCookies: public IEnumCookies { friend class CObjectManager; private: // IUnknown LONG m_cRef; // IEnumCookies ULONG m_cAlloced; // Size of the array. ULONG m_cIter; // Our iter counter. OBJECTCOOKIE * m_pList; // Array of cookies. DWORD m_cCookies; // Number of array items in use private: // Methods CEnumCookies( ); ~CEnumCookies(); STDMETHOD( Init )( void ); public: // Methods static HRESULT S_HrCreateInstance( IUnknown ** ppunkOut ); // IUnknown STDMETHOD( QueryInterface )( REFIID riid, LPVOID *ppv ); STDMETHOD_( ULONG, AddRef )( void ); STDMETHOD_( ULONG, Release )( void ); // IEnumCookies STDMETHOD( Next )( ULONG celt, OBJECTCOOKIE rgcookieOut[], ULONG * pceltFetchedOut ); STDMETHOD( Skip )( ULONG celt ); STDMETHOD( Reset )( void ); STDMETHOD( Clone )( IEnumCookies ** ppenumOut ); STDMETHOD( Count )( DWORD * pnCountOut ); }; // class CEnumCookies