// The real robuffer.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 #include #include #ifndef _IBufferByteAccess_DEFINED #define _IBufferByteAccess_DEFINED typedef interface C_IBufferByteAccess C_IBufferByteAccess; #endif /* _IBufferByteAccess_DEFINED */ typedef struct C_IBufferByteAccessVtbl { BEGIN_INTERFACE HRESULT (STDMETHODCALLTYPE* QueryInterface)(__RPC__in C_IBufferByteAccess* This, REFIID riid, _COM_Outptr_ void** ppvObject); ULONG (STDMETHODCALLTYPE* AddRef)(__RPC__in C_IBufferByteAccess* This); ULONG (STDMETHODCALLTYPE* Release)(__RPC__in C_IBufferByteAccess* This); HRESULT (STDMETHODCALLTYPE* Buffer)(__RPC__in C_IBufferByteAccess* This, BYTE** value); END_INTERFACE } C_IBufferByteAccessVtbl; interface C_IBufferByteAccess { CONST_VTBL struct C_IBufferByteAccessVtbl* lpVtbl; };