MSHCTX
The MSHCTX
enumeration constants specify the destination context, which is the process in
which the unmarshaling is to be done. These flags are used in the IMarshal
typedef enum tagMSHCTX
{
MSHCTX_LOCAL = 0,
MSHCTX_NOSHAREDMEM = 1,
MSHCTX_DIFFERENTMACHINE = 2,
MSHCTX_INPROC = 3
} MSHCTX;
Elements
MSHCTX_LOCAL
The
unmarshaling process is local and has shared memory access with the marshaling
process.
MSHCTX_NOSHAREDMEM
The
unmarshaling process does not have shared memory access with the marshaling
process.
MSHCTX_DIFFERENTMACHINE
The
unmarshaling process is on a different machine. The marshaling code cannot
assume that a particular piece of application code is installed on that
machine.
MSHCTX_INPROC
The
unmarshaling will be done in another apartment in the same process. If your
object supports multiple threads, your custom marshaler can pass a direct
pointer instead of creating a proxy object.
See Also