Tuesday, August 4, 2015

Getting Acquainted With The Structure of Outlook PST File

MS Outlook, one of the components of MS Office suite, is the most popular Personal Information Manager and desktop based email client. It is a standalone application and also works efficiently with organizational level server systems like Exchange server and SharePoint Server. The data stored in it is maintained in a storage file referred as PST or Personal Storage Table. The PST file maintains the data of Outlook in a systematic and hierarchical form.

In this write up we will shed some light on the structure of the Outlook PST files. The PST file follows both Logical and Physical structure, which will remain the highlights of this blog.

Outlook Data Repository: PST File

PST files are binary structured files stored at local level on the user machine. Since they contain the entire data of Outlook within them, they are refereed as the local storehouse of Outlook data. A PST file consists of a message store that holds the Message objects and Attachments objects. These PST file store the data within them in a hierarchical structure.

Logical Structure Of Outlook PST File

At the logical level, the Outlook PST file consists of a three-tier structure. The 3 layers which mainly comprise the logical structure of a PST file are:


The first layer in the logical layering of the PST file is the Messaging Layer. This layer is comprised of the high-level rules and business logics that hand over the permission to NDB and LTP layer structures to get combined as Folder objects, Attachment objects, etc. the structure of this layer begins with the header, file allocation information, nodes and blocks.

·         Header

The header structure is located at the beginning of the PST file and consist other groups of information like- Metadata, root Record and FMap (Initial Free Map) and FPMap (Free Page Map).

·         Allocation Map

This page is responsible for tracking the status of the data section that follows AMap page.

     LTP LAYER (List, Tables And Properties Layer)

This layer is responsible for implementing high level concepts and properties. The main elements of this layer are Property and Table Context.

·         Property Context

This context is responsible to show the properties.

·         Table Context

It shows all the tables which consists of rows and columns.

Physical Structure Of PST File

The physical structure of the PST file is comprised of the following components:
·         Header

The header is located at the top of the file and consists of the metadata, root record, etc.

·         Root

The root stores the current status of the file.

·         BREF

The BREF is responsible for mapping a BID to offset location.

·         BID

The BID structure analyzes all the blocks associated with a PST file. For ANSI PST file its size is 32 bits whereas for UNICODE PST file its size is 64 bit.

·         NID

NID defines each node of data stored in the PST file. There exists a unique NID for every node. It is to be noted that for two sub nodes, belonging to the same node, there are different NIDs.

·         BTree

These are the building blocks which are used to navigate and to search nodes and blocks.

·         Page

Pages are used to represent the metadata allocation and BTree data structure and are used in NDB layer.

·         Page Trailer

It contains the metadata about a page and is located at the end of a particular page.

·         BTPage

It is a page that is a part of the Block BTree or a node.

·         BTentry

It holds a key value of a NID/BID and acts as a reference to BTPage of a BTree.

·         NBTentry

Contains information regarding the nodes and are found in BTPage.


We believe that after reading the above sections you are thoroughly well-known to the physical as well as logical structure of the Outlook PST file.

No comments:

Post a Comment