2.2.2.5 ROOT

The ROOT structure contains current file state.

Unicode:


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

dwReserved

ibFileEof

...

ibAMapLast

...

cbAMapFree

...

cbPMapFree

...

BREFNBT (16 bytes)

...

...

BREFBBT (16 bytes)

...

...

fAMapValid

bReserved

wReserved

ANSI:


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

dwReserved

ibFileEof

ibAMapLast

cbAMapFree

cbPMapFree

BREFNBT

...

BREFBBT

...

fAMapValid

bReserved

wReserved

dwReserved (4 bytes): Implementations SHOULD ignore this value and SHOULD NOT modify it. Creators of a new PST file MUST initialize this value to zero.<5>

ibFileEof (Unicode: 8 bytes; ANSI 4 bytes): The size of the PST file, in bytes.

ibAMapLast (Unicode: 8 bytes; ANSI 4 bytes): An IB structure (section 2.2.2.3) that contains the absolute file offset to the last AMap page of the PST file.

cbAMapFree (Unicode: 8 bytes; ANSI 4 bytes): The total free space in all AMaps, combined.

cbPMapFree (Unicode: 8 bytes; ANSI 4 bytes): The total free space in all PMaps, combined. Because the PMap is deprecated, this value SHOULD be zero. Creators of new PST files MUST initialize this value to zero.

BREFNBT (Unicode: 16 bytes; ANSI: 8 bytes): A BREF structure (section 2.2.2.4) that references the root page of the Node BTree (NBT).

BREFBBT (Unicode: 16 bytes; ANSI: 8 bytes): A BREF structure that references the root page of the Block BTree (BBT).

fAMapValid (1 byte): Indicates whether all of the AMaps in this PST file are valid. For more details, see section 2.6.1.3.7. This value MUST be set to one of the pre-defined values specified in the following table.

Value

Friendly name

Meaning

0x00

INVALID_AMAP

One or more AMaps in the PST are INVALID

0x01

VALID_AMAP1

Deprecated. Implementations SHOULD NOT use this value. The AMaps are VALID.<6>

0x02

VALID_AMAP2

The AMaps are VALID.

bReserved (1 byte): Implementations SHOULD ignore this value and SHOULD NOT modify it. Creators of a new PST file MUST initialize this value to zero.<7>

wReserved (2 bytes): Implementations SHOULD ignore this value and SHOULD NOT modify it. Creators of a new PST file MUST initialize this value to zero.<8>