2.2 Serialized Property Storage

The Serialized Property Storage structure is a sequence of Serialized Property Value structures.  The sequence MUST be terminated by a Serialized Property Value structure that specifies 0x00000000 for the Value Size field.


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

Storage Size

Version

Format ID

...

...

...

Serialized Property Value (variable)

...

Storage Size (4 bytes): An unsigned integer that specifies the total size, in bytes, of this structure. It MUST be 0x00000000 if this is the last Serialized Property Storage in the enclosing Serialized Property Store.

Version (4 bytes): Has to be equal to 0x53505331.

Format ID (16 bytes): A GUID that specifies the semantics and expected usage of the properties contained in this Serialized Property Storage structure. It MUST be unique in the set of serialized property storage structures.

Serialized Property Value (variable): A sequence of one or more property values.  If the Format ID field is equal to the GUID {D5CDD505-2E9C-101B-9397-08002B2CF9AE}, then all values in the sequence MUST be Serialized Property Value (String Name) structures, as specified in section 2.3.1; otherwise, all values MUST be Serialized Property Value (Integer Name) structures, as specified in section 2.3.2. The last Serialized Property Value in the sequence MUST specify 0x00000 for the Value Size.


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

Serialized Property Value - 1

...

Serialized Property Value - N

Serialized Property Value with Value Size of 0x00000000