2.4.1.1 Top Level

The header for the property stream contained inside the top level of the .msg file, which represents the Message object itself, has the following structure.


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

Reserved

...

Next Recipient ID

Next Attachment ID

Recipient Count

Attachment Count

Reserved

...

Reserved (8 bytes): This field MUST be set to zero when writing a .msg file and MUST be ignored when reading a .msg file.

Next Recipient ID (4 bytes): The ID to use for naming the next Recipient object storage if one is created inside the .msg file. The naming convention to be used is specified in section 2.2.1. If no Recipient object storages are contained in the .msg file, this field MUST be set to 0.

Next Attachment ID (4 bytes): The ID to use for naming the next Attachment object storage if one is created inside the .msg file. The naming convention to be used is specified in section 2.2.2. If no Attachment object storages are contained in the .msg file, this field MUST be set to 0.

Recipient Count (4 bytes): The number of Recipient objects.

Attachment Count (4 bytes): The number of Attachment objects.

Reserved (8 bytes):  This field MUST be set to 0 when writing a .msg file and MUST be ignored when reading a .msg file.