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 and
IStdMarshalInfo interfaces and in the
CoMarshalInterface and
CoGetStandardMarshal functions.
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
CoGetStandardMarshal,
CoMarshalInterface,
IMarshal,
IStdMarshalInfo