1 #ifndef WINE_DSHOW_MEMALLOC_H
2 #define WINE_DSHOW_MEMALLOC_H
5 implements CLSID_MemoryAllocator.
7 - At least, the following interfaces should be implemented:
17 typedef struct MA_IMemAllocatorImpl
19 ICOM_VFIELD(IMemAllocator);
20 } MA_IMemAllocatorImpl;
22 typedef struct CMemoryAllocator
25 MA_IMemAllocatorImpl memalloc;
27 /* IMemAllocator fields. */
28 CRITICAL_SECTION csMem;
29 ALLOCATOR_PROPERTIES prop;
32 CMemMediaSample** ppSamples;
35 #define CMemoryAllocator_THIS(iface,member) CMemoryAllocator* This = ((CMemoryAllocator*)(((char*)iface)-offsetof(CMemoryAllocator,member)))
37 HRESULT QUARTZ_CreateMemoryAllocator(IUnknown* punkOuter,void** ppobj);
39 HRESULT CMemoryAllocator_InitIMemAllocator( CMemoryAllocator* pma );
40 void CMemoryAllocator_UninitIMemAllocator( CMemoryAllocator* pma );
43 #endif /* WINE_DSHOW_MEMALLOC_H */