MSHCTX  S1J.GW

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 IMarshal8SHYIG and IStdMarshalInfo3JN7_GC interfaces and in the CoMarshalInterfaceKHF9NR and CoGetStandardMarshal._04TA 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