CoMarshalInterface (ole32)
Last changed: heriberto lugo-73.4.132.83

.
Summary

C# Signature:

[DllImport("ole32.dll")]
static extern int CoMarshalInterface(System.Runtime.InteropServices.ComTypes.IStream pStm, [In] ref Guid riid,
   [MarshalAs(UnmanagedType.IUnknown)] object pUnk, MSHCTX dwDestContext,
   IntPtr pvDestContext, MSHLFLAGS mshlflags);

User-Defined Types:

private enum MSHCTX : uint
{
    MSHCTX_LOCAL = 0,
    MSHCTX_NOSHAREDMEM = 1,
    MSHCTX_DIFFERENTMACHINE = 2,
    MSHCTX_INPROC = 3,
    MSHCTX_CROSSCTX = 4
};

[Flags]
private enum MSHLFLAGS : uint
{
    MSHLFLAGS_NORMAL = 0,
    MSHLFLAGS_TABLESTRONG = 1,
    MSHLFLAGS_TABLEWEAK = 2,
    MSHLFLAGS_NOPING = 4,
    MSHLFLAGS_RESERVED1 = 8,
    MSHLFLAGS_RESERVED2 = 16,
    MSHLFLAGS_RESERVED3 = 32,
    MSHLFLAGS_RESERVED4 = 64
};

Notes:

UCOMIStream is deprecated. use System.Runtime.InteropServices.ComTypes.IStream instead.

Tips & Tricks:

Please add some!

Sample Code:

Please add some!

Alternative Managed API:

Do you know one? Please contribute it!

Documentation