| 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 |  | 
|---|
| 16 | typedef struct MA_IMemAllocatorImpl | 
|---|
| 17 | { | 
|---|
| 18 | ICOM_VFIELD(IMemAllocator); | 
|---|
| 19 | } MA_IMemAllocatorImpl; | 
|---|
| 20 |  | 
|---|
| 21 | typedef 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 |  | 
|---|
| 33 | HRESULT QUARTZ_CreateMemoryAllocator(IUnknown* punkOuter,void** ppobj); | 
|---|
| 34 |  | 
|---|
| 35 | HRESULT CMemoryAllocator_InitIMemAllocator( CMemoryAllocator* pma ); | 
|---|
| 36 | void CMemoryAllocator_UninitIMemAllocator( CMemoryAllocator* pma ); | 
|---|
| 37 |  | 
|---|
| 38 |  | 
|---|
| 39 | #endif  /* WINE_DSHOW_MEMALLOC_H */ | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.