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;
};