tree node info
The tree stores int4 values. In the dbx files the int4 values are pointers to indexed info objects. The nodes of the tree are the tree nodes. The tree node is the basic part of the tree. Each node object is 0x27c bytes long. 0x18 bytes for the header and 0x264 bytes for the body.
|The header of a tree node|
|( 1)||int4||object marker|
|( 2)||int4||--- unused|
|( 3)||int4||pointer to a child node|
|( 4)||int4||pointer to the parent node|
|( 5)||int1||node id|
|( 6)||int1||entries in the body of this node|
|( 7)||int2||--- unused|
|( 8)||int4||stored values in the child tree (3)|
|The body of a tree node contains (6) entries. |
Each entry consists of 3 int4 values :
|( 9)||int4||a value|
|(10)||int4||pointer to a child node|
|(11)||int4||stored values in the child tree (10)|
- Because of the size of 0x264 for the body, (6) can be up to 0x33.
- The root node of the tree has no parent, so (4) is set to 0.
The leafes have no child nodes, so (3),(8),(10) and (11) are set to 0.
- The child node (3) has a node id(5) of 0. The other child nodes (10) have node id's from 0 to (6)-1.
In the message dbx files are two trees used.
They are used to store pointers to message info objects.
- This first one is used to store pointers to 'all' message info objects.
- The second tree is used to store pointers to all watched or ignored message info objects.
In the folders.dbx file are three trees.
They are used to store pointers to folder info objects.
- The first one is used to store pointers to all folder info objects, sorted by there index.
- The second one is used to store pointers to all folder info objects, sorted by there parent folders index followed by there name.
- The third one is used to store all pointers to folder info objects which are active subfolders of "Outlook Express", sorted by there parent folders index followed by there name. This are the folders you can see in OE on the folders pane.