58 lines
1.4 KiB
C++
58 lines
1.4 KiB
C++
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
//
|
|
// Copyright (C) Microsoft Corporation, 1999 - 1999
|
|
//
|
|
// File: ddenumsurfacesobj.h
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
#include "resource.h"
|
|
|
|
class C_dxj_DirectDrawEnumSurfacesObject :
|
|
public I_dxj_DirectDrawEnumSurfaces,
|
|
public CComObjectRoot
|
|
{
|
|
public:
|
|
C_dxj_DirectDrawEnumSurfacesObject() ;
|
|
virtual ~C_dxj_DirectDrawEnumSurfacesObject() ;
|
|
|
|
BEGIN_COM_MAP(C_dxj_DirectDrawEnumSurfacesObject)
|
|
COM_INTERFACE_ENTRY(I_dxj_DirectDrawEnumSurfaces)
|
|
END_COM_MAP()
|
|
|
|
DECLARE_AGGREGATABLE(C_dxj_DirectDrawEnumSurfacesObject)
|
|
|
|
public:
|
|
DWORD InternalAddRef();
|
|
DWORD InternalRelease();
|
|
HRESULT STDMETHODCALLTYPE getItem( long index, I_dxj_DirectDrawSurface7 **retVal);
|
|
HRESULT STDMETHODCALLTYPE getCount(long *count);
|
|
|
|
static HRESULT create(I_dxj_DirectDraw7 *ddS,long flags, DDSurfaceDesc2 *desc,I_dxj_DirectDrawEnumSurfaces **ppRet);
|
|
static HRESULT createAttachedEnum(I_dxj_DirectDrawSurface7 *dds, I_dxj_DirectDrawEnumSurfaces **ppRet);
|
|
static HRESULT createZEnum(I_dxj_DirectDrawSurface7 *dds, long flags, I_dxj_DirectDrawEnumSurfaces **ppRet);
|
|
|
|
public:
|
|
IDirectDrawSurface7 **m_pList;
|
|
long m_nCount;
|
|
long m_nMax;
|
|
BOOL m_bProblem;
|
|
|
|
|
|
DX3J_GLOBAL_LINKS( _dxj_DirectDrawEnumSurfaces )
|
|
|
|
|
|
private:
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|