public unsafe int Clone(IStream* ppstm) { IStream_vtbl** @this = (IStream_vtbl**)reference; IStream_vtbl* vtbl = *@this; if (vtbl == null) throw new InvalidComObjectException(); Delegate genericDelegate = Marshal.GetDelegateForFunctionPointer(vtbl->method_13, typeof(delegate_13)); delegate_13 method = (delegate_13)genericDelegate; return method(@this, ppstm); }
public unsafe int RemoteCopyTo(IStream pstm, ulong cb, ulong* pcbRead, ulong* pcbWritten) { IStream_vtbl** @this = (IStream_vtbl**)reference; IStream_vtbl* vtbl = *@this; if (vtbl == null) throw new InvalidComObjectException(); Delegate genericDelegate = Marshal.GetDelegateForFunctionPointer(vtbl->method_7, typeof(delegate_7)); delegate_7 method = (delegate_7)genericDelegate; return method(@this, pstm, cb, pcbRead, pcbWritten); }
public unsafe int RemoteOpenStream(char* pwcsName, uint cbReserved1, byte* reserved1, uint grfMode, uint reserved2, IStream* ppstm) { IStorage_vtbl** @this = (IStorage_vtbl**)reference; IStorage_vtbl* vtbl = *@this; if (vtbl == null) throw new InvalidComObjectException(); Delegate genericDelegate = Marshal.GetDelegateForFunctionPointer(vtbl->method_4, typeof(delegate_4)); delegate_4 method = (delegate_4)genericDelegate; return method(@this, pwcsName, cbReserved1, reserved1, grfMode, reserved2, ppstm); }