42 lines
890 B
C++
42 lines
890 B
C++
/*
|
|
|
|
Copyright (c) 1998-1999 Microsoft Corporation
|
|
|
|
*/
|
|
|
|
#ifndef __MTENUM_H_INC__
|
|
#define __MTENUM_H_INC__
|
|
|
|
class ATL_NO_VTABLE CMediaTypeEnum :
|
|
public CComObjectRootEx<CComMultiThreadModel>,
|
|
public IEnumMediaTypes
|
|
{
|
|
public:
|
|
//
|
|
// METHODS
|
|
//
|
|
CMediaTypeEnum();
|
|
~CMediaTypeEnum();
|
|
|
|
DECLARE_GET_CONTROLLING_UNKNOWN()
|
|
|
|
void Initialize(CStream *pStream, ULONG cCurPos);
|
|
|
|
//
|
|
// IEnumMediaTypes
|
|
//
|
|
STDMETHODIMP Next(ULONG cNumToFetch, AM_MEDIA_TYPE **ppMediaTypes, ULONG *pcFetched);
|
|
STDMETHODIMP Skip(ULONG cSkip);
|
|
STDMETHODIMP Reset();
|
|
STDMETHODIMP Clone(IEnumMediaTypes **ppEnumMediaTypes);
|
|
|
|
BEGIN_COM_MAP(CMediaTypeEnum)
|
|
COM_INTERFACE_ENTRY(IEnumMediaTypes)
|
|
END_COM_MAP()
|
|
|
|
public:
|
|
ULONG m_cCurrentPos;
|
|
CStream *m_pStream;
|
|
};
|
|
|
|
#endif |