55 lines
982 B
C
55 lines
982 B
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1996 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
CEnumVar.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
User mode
|
||
|
|
||
|
Revision History :
|
||
|
|
||
|
--*/
|
||
|
#ifndef _CENUMVAR_H_
|
||
|
#define _CENUMVAR_H_
|
||
|
|
||
|
class FAR CEnumVariant : public IEnumVARIANT
|
||
|
{
|
||
|
public:
|
||
|
// IUnknown methods
|
||
|
STDMETHOD(QueryInterface)(REFIID riid, LPVOID FAR* ppvObj) ;
|
||
|
STDMETHOD_(ULONG, AddRef)() ;
|
||
|
STDMETHOD_(ULONG, Release)() ;
|
||
|
|
||
|
// IEnumVARIANT methods
|
||
|
STDMETHOD(Next)(ULONG cElements,
|
||
|
VARIANT FAR* pvar,
|
||
|
ULONG FAR* pcElementFetched);
|
||
|
STDMETHOD(Skip)(ULONG cElements);
|
||
|
STDMETHOD(Reset)();
|
||
|
STDMETHOD(Clone)(IEnumVARIANT FAR* FAR* ppenum);
|
||
|
|
||
|
CEnumVariant();
|
||
|
~CEnumVariant();
|
||
|
|
||
|
static HRESULT Create(SAFEARRAY FAR* psa, ULONG cElements, CEnumVariant** ppenumvariant);
|
||
|
|
||
|
|
||
|
private:
|
||
|
ULONG m_cRef;
|
||
|
|
||
|
ULONG m_cElements;
|
||
|
long m_lLBound;
|
||
|
long m_lCurrent;
|
||
|
SAFEARRAY* m_psa;
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif
|