2.2.18.6 OBJREF_CUSTOM

This form of OBJREF is used by a server object to marshal itself into an opaque BLOB using a custom marshaler. The custom marshaler is a COM object that can marshal and unmarshal the data contained in the BLOB. The CLSID of the custom marshaler object's object class is specified within the OBJREF.

If the interface specified by the iid field of the OBJREF structure contained in the OBJREF_CUSTOM has the local IDL attribute (section 2.2.27), the OBJREF_CUSTOM MUST represent an object that is local to the client that unmarshals the object.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

clsid (16 bytes)

...

...

cbExtension

reserved

pObjectData (variable)

...

clsid (16 bytes): This MUST specify a CLSID, supplied by an application or higher-layer protocol, identifying an object class associated with the data in the pObjectData field.<8>

cbExtension (4 bytes): This MUST be set to zero when sent and MUST be ignored on receipt.

reserved (4 bytes): Unused. This can be set to any arbitrary value when sent and MUST be ignored on receipt.

pObjectData (variable): This MUST be an array of bytes containing data supplied by an application or higher-layer protocol.