2.2.4.1.3 Serialization of Simple Types

Serialization of simple types in FastTransfer streams is identical to serialization of property values as specified [MS-OXCDATA], with the following exceptions:

Property type name

Difference in serialization

PtypBoolean ([MS-OXCDATA] section 2.11.1)

2-bytes in FastTransfer streams, instead of 1-byte as specified in [MS-OXCDATA].

Using little-endian byte ordering, "01 00" for TRUE and "00 00" for FALSE.

PtypString

PtypString8 ([MS-OXCDATA] section 2.11.1)

Serialization MUST be performed, as specified in [MS-OXCDATA].

The server SHOULD<20> output string values with the terminating nulls. FastTransfer stream readers MUST check that the last 1 (for PtypString8) or 2 (for PtypString) bytes of a stream are indeed zeros before truncating them.

Note that little-endian byte ordering MUST be used. The data type of simple type elements determine how bytes are serialized on the wire. For example, Int16 value 0x1234 is encoded as "34 12" on the wire.