2.2.18 OBJREF

OBJREF is the marshaled format for a DCOM Remote Protocol object reference. There are four different formats for an OBJREF, which are specified by different definitions of the u_objref field. This section defines the initial header information. The following sections define substructures found in the u_objref field.


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

signature

flags

iid (16 bytes)

...

...

u_objref (variable)

...

signature (4 bytes): This MUST be set to the value 0x574f454d.

flags (4 bytes): This MUST be set to ONE of the following values.

Value

Meaning

OBJREF_STANDARD

0x00000001

u_objref MUST contain an OBJREF_STANDARD.

OBJREF_HANDLER

0x00000002

u_objref MUST contain an OBJREF_HANDLER.

OBJREF_CUSTOM

0x00000004

u_objref MUST contain an OBJREF_CUSTOM.

OBJREF_EXTENDED

0x00000008

u_objref MUST contain an OBJREF_EXTENDED.

iid (16 bytes):  The IID for which this OBJREF was marshaled; this MUST NOT be set to GUID_NULL.

The iid MUST be specified either by the uuid IDL attribute (as specified in [C706] section 4.2.4.1) of the interface type method parameter, or it MUST be specified using the iid_is IDL Attribute.

u_objref (variable):  A structure specified by the value of the preceding flags.