Sweden-Number/dlls/quartz/memalloc.h

44 lines
976 B
C
Raw Normal View History

2001-08-15 21:26:52 +02:00
#ifndef WINE_DSHOW_MEMALLOC_H
#define WINE_DSHOW_MEMALLOC_H
/*
implements CLSID_MemoryAllocator.
- At least, the following interfaces should be implemented:
IUnknown
+ IMemAllocator
*/
#include "iunk.h"
2001-09-17 22:04:28 +02:00
#include "sample.h"
2001-08-15 21:26:52 +02:00
typedef struct MA_IMemAllocatorImpl
{
ICOM_VFIELD(IMemAllocator);
} MA_IMemAllocatorImpl;
typedef struct CMemoryAllocator
{
QUARTZ_IUnkImpl unk;
MA_IMemAllocatorImpl memalloc;
/* IMemAllocator fields. */
CRITICAL_SECTION csMem;
ALLOCATOR_PROPERTIES prop;
2001-09-17 22:04:28 +02:00
HANDLE hEventSample;
BYTE* pData;
CMemMediaSample** ppSamples;
2001-08-15 21:26:52 +02:00
} CMemoryAllocator;
#define CMemoryAllocator_THIS(iface,member) CMemoryAllocator* This = ((CMemoryAllocator*)(((char*)iface)-offsetof(CMemoryAllocator,member)))
HRESULT QUARTZ_CreateMemoryAllocator(IUnknown* punkOuter,void** ppobj);
HRESULT CMemoryAllocator_InitIMemAllocator( CMemoryAllocator* pma );
void CMemoryAllocator_UninitIMemAllocator( CMemoryAllocator* pma );
2001-08-15 21:26:52 +02:00
#endif /* WINE_DSHOW_MEMALLOC_H */