2.2.21.4 Context ORPC Extension

CLSID_CONTEXT_EXTENSION is the identifying GUID for this ORPC extension, which is marshaled into the data field of an ORPC_EXTENT using the structure format that follows.

A context ORPC extension is used when a client or server passes data associated with a context property along with and in response to an ORPC call.

All fields MUST be marshaled with the same endianness as the encompassing RPC PDU.


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

Version

cPolicies

cbBuffer

cbSize

hr

hrServer

reserved

EntryHeader (variable)

...

PolicyData (variable)

...

Signature (4 bytes):  This MUST be set to 0x414E554B.

Version (4 bytes):  This MUST be set to 0x00010000.

cPolicies (4 bytes): The unsigned number of elements in the EntryHeader array. This MUST also be equal to the number of elements in the PolicyData array.

cbBuffer (4 bytes):  An implementation-specific value that MUST be ignored on receipt.<20>

cbSize (4 bytes): The unsigned size (in bytes) from the beginning of this structure to the end of the last EntryHeader.

hr (4 bytes):  An HRESULT that MUST be set to zero and MUST be ignored on receipt.

hrServer (4 bytes):  An HRESULT that MUST be set to zero when sent from client to server and MUST be ignored on receipt. When sent from server to client, this field MAY contain an implementation-specific error value.<21>

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

EntryHeader (variable):  An array of EntryHeader structures. The number of elements in the array MUST be specified in cPolicies.

PolicyData (variable):  An array of byte arrays. The number of elements in the outer array MUST be specified in cPolicies. The number of elements in the byte array MUST be specified in the cbEHBuffer field (see section 2.2.21.5) in the corresponding element in the EntryHeader array.

Both the EntryHeader and PolicyData arrays MUST have sizes that are integral multiples of eight, and all padding bytes MUST be initialized to zero and MUST be ignored on receipt.