30 lines
1.0 KiB
C
30 lines
1.0 KiB
C
// The real MemoryBuffer.h doesn't provide C definitions, so we need to provide those here
|
|
// No pragma once, we might include this twice (once for the regular definitions, once for the workaround)
|
|
|
|
#include <objidl.h>
|
|
|
|
#ifndef _IMEMORYBUFFERBYTEACCESS_DEFINED
|
|
#define _IMEMORYBUFFERBYTEACCESS_DEFINED
|
|
typedef interface IMemoryBufferByteAccess IMemoryBufferByteAccess;
|
|
#endif
|
|
|
|
typedef struct IMemoryBufferByteAccessVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT (STDMETHODCALLTYPE* QueryInterface)(__RPC__in IMemoryBufferByteAccess* This,
|
|
REFIID riid,
|
|
_COM_Outptr_ void** ppvObject);
|
|
ULONG (STDMETHODCALLTYPE* AddRef)(__RPC__in IMemoryBufferByteAccess* This);
|
|
ULONG (STDMETHODCALLTYPE* Release)(__RPC__in IMemoryBufferByteAccess* This);
|
|
HRESULT (STDMETHODCALLTYPE* GetBuffer)(__RPC__in IMemoryBufferByteAccess* This,
|
|
BYTE** value,
|
|
_Out_ UINT32* capacity);
|
|
|
|
END_INTERFACE
|
|
} IMemoryBufferByteAccessVtbl;
|
|
|
|
interface IMemoryBufferByteAccess
|
|
{
|
|
CONST_VTBL struct IMemoryBufferByteAccessVtbl* lpVtbl;
|
|
}; |