2.2.6.2 Private Header for Constructed Type

A top-level NDR constructed type MUST be preceded by a private header, as specified in this section.


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

ObjectBufferLength

Filler

ObjectBufferLength (4 bytes): Indicates the length of a serialized top-level type in the octet stream. It MUST include the padding length and exclude the header itself.

Filler (4 bytes):  Reserved field. MUST be set to 0 (zero) during marshaling, and SHOULD be ignored during unmarshaling.

The private type header MUST be aligned on an 8-byte boundary in the octet stream. If the length of the serialized top-level constructed type in the octet stream is not a multiple of 8 octets, the data MUST be padded at the end to ensure its total length is an integral multiple of 8 bytes in length.

Like a parameter in a procedure, the top-level constructed type MUST be represented in NDR format in the octet stream following the private header.