2.2.21.2 Custom-Marshaled Error Information Format

This section defines the format of an OBJREF_CUSTOM that, depending on the use of the DCOM Remote Protocol by an application or a higher-layer protocol, MAY be passed as an error information ORPC extension (see section 2.2.21.1). CLSID_ErrorObject (see section 1.9) is the unmarshaler CLSID for this OBJREF_CUSTOM. The format of the pObjectData field of the OBJREF_CUSTOM for this CLSID is as follows.


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

dwVersion

dwHelpContext

iid (16 bytes)

...

...

dwSourceSignature

Source (variable)

...

dwDescriptionSignature

Description (variable)

...

dwHelpFileSignature

HelpFile (variable)

...

dwVersion (4 bytes): This MUST be set to 0x00000000.

dwHelpContext (4 bytes): An implementation-specific value that SHOULD be ignored on receipt.<16>

iid (16 bytes): An IID that MUST be the IID of the interface returning the error.

dwSourceSignature (4 bytes): This MUST be set to 0xFFFFFFFF if the Source field is present and MUST be set to 0x00000000 if the Source field is not present.

Source (variable): This MUST contain an ErrorInfoString (see ErrorInfoString (section 2.2.21.3)) if the dwSourceSignature field is set to 0xFFFFFFFF and MUST NOT be present if the dwSourceSignature field is set to 0x00000000.<17>

dwDescriptionSignature (4 bytes): This MUST be set to 0xFFFFFFFF if the Description field is present and that MUST be set to 0x00000000 if the Description field is not present.

Description (variable): This MUST contain an ErrorInfoString (see ErrorInfoString (section 2.2.21.3)) if the dwDescriptionSignature field is set to 0xFFFFFFFF and MUST NOT be present if the dwDescriptionSignature field is set to 0x00000000.<18>

dwHelpFileSignature (4 bytes): This MUST be set to 0xFFFFFFFF if the HelpFile field is present and MUST be set to 0x00000000 if the HelpFile field is not present.

HelpFile (variable): This MUST contain an ErrorInfoString (see ErrorInfoString (section 2.2.21.3)) if the dwHelpFileSignature field is set to 0xFFFFFFFF and MUST NOT be present if the dwHelpFileSignature field is set to 0x00000000.<19>