2.2.5.2 Serialization of Complex Objects

This section describes how to serialize Complex Objects. A Complex Object is one of the following:

  • An object of a non-primitive type (a type not covered in the section 2.2.5.1).

  • An Extended Primitive Object - an object which in addition to a value of a primitive type (a type covered in section 2.2.5.1) contains some extra information from section 2.2.5.3.4 (for example, ToString or extended properties).

A Complex Object sent by the higher layer to the PowerShell Remoting Protocol for transport MUST have been encoded using one of the following representations.

The higher layer chooses either to encode a subset of the Complex Object's properties or to represent the Complex Object as a string. The type of the source Complex Object can be lost in the encoding.