source: trunk/src/quartz/memalloc.h@ 6710

Last change on this file since 6710 was 6710, checked in by sandervl, 24 years ago

wine update

File size: 890 bytes
Line 
1#ifndef WINE_DSHOW_MEMALLOC_H
2#define WINE_DSHOW_MEMALLOC_H
3
4/*
5 implements CLSID_MemoryAllocator.
6
7 - At least, the following interfaces should be implemented:
8
9 IUnknown
10 + IMemAllocator
11
12*/
13
14#include "iunk.h"
15
16typedef struct MA_IMemAllocatorImpl
17{
18 ICOM_VFIELD(IMemAllocator);
19} MA_IMemAllocatorImpl;
20
21typedef struct CMemoryAllocator
22{
23 QUARTZ_IUnkImpl unk;
24 MA_IMemAllocatorImpl memalloc;
25
26 /* IMemAllocator fields. */
27 CRITICAL_SECTION csMem;
28 ALLOCATOR_PROPERTIES prop;
29} CMemoryAllocator;
30
31#define CMemoryAllocator_THIS(iface,member) CMemoryAllocator* This = ((CMemoryAllocator*)(((char*)iface)-offsetof(CMemoryAllocator,member)))
32
33HRESULT QUARTZ_CreateMemoryAllocator(IUnknown* punkOuter,void** ppobj);
34
35HRESULT CMemoryAllocator_InitIMemAllocator( CMemoryAllocator* pma );
36void CMemoryAllocator_UninitIMemAllocator( CMemoryAllocator* pma );
37
38
39#endif /* WINE_DSHOW_MEMALLOC_H */
Note: See TracBrowser for help on using the repository browser.