2.8.1 Packaging Structure

The Packaging structure MUST be at the beginning of the file.

This structure has the following format.


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

guidFileType (16 bytes)

...

guidFile (16 bytes)

...

guidLegacyFileVersion (16 bytes)

...

guidFileFormat (16 bytes)

...

rgbReserved (4 bytes)

Packaging Start

Storage Index Extended GUID (variable)

...

guidCellSchemaId (16 bytes)

...

Data Element Package (variable)

...

Packaging End (2 bytes)

guidFileType (16 bytes): A GUID, as specified by [MS-DTYP], MUST be "{7B5C52E4-D88C-4DA7-AEB1-5378D02996D3}".

guidFile (16 bytes): A GUID, as specified by [MS-DTYP], that specifies the identity of this package store file. SHOULD be globally unique.

guidLegacyFileVersion (16 bytes): A GUID, as specified by [MS-DTYP], that specifies the version of this package store file. SHOULD be globally unique.<10>

guidFileFormat (16 bytes): A GUID, as specified by [MS-DTYP], that specifies that the file is a package store file. MUST be "{638DE92F-A6D4-4bc1-9A36-B3FC2511A5B7}".

rgbReserved (4 bytes): MUST be zero. MUST be ignored.

Packaging Start (4 bytes): A 32-bit stream object header, as specified in [MS-FSSHTTPB] section 2.2.1.5.2, with a Header Type of 0x00, Compound of 0x1, Type of 0x7A, and Length set to the length of the Storage Index Extended GUID plus the length of the guidCellSchemaId.

Storage Index Extended GUID (variable): An extended GUID, as specified in [MS-FSSHTTPB] section 2.2.1.7) that specifies the storage index.

guidCellSchemaId (16 bytes): A GUID, as specified in [MS-DTYP], that specifies the file type. MUST be one of the following values, depending on the file type.

File type

Value

.one

{1F937CB4-B26F-445F-B9F8-17E20160E461}

.onetoc2

{E4DBFD38-E5C7-408B-A8A1-0E7B421E1F5F}

Data Element Package (variable): A data element package, as specified in [MS-FSSHTTPB] section 2.2.1.12, that specifies the serialized data elements.

Packaging End (2 bytes): A 16-bit stream object header end, as specified in [MS-FSSHTTPB] section 2.2.1.5.4, that specifies a stream object of type 0x7A. The value of this field MUST be 0x1EB.