PST File Format SDK v0.4
Loading...
Searching...
No Matches
pstsdk::disk::dlist_page< T > Struct Template Reference

A metapage holding information about AMap pages. More...

#include <disk.h>

+ Collaboration diagram for pstsdk::disk::dlist_page< T >:

Public Attributes

byte flags
 Flags indicating the state of the dlist page.
 
byte num_entries
 Number of entries in the entries array.
 
union { 
 
   ulong   current_page 
 The current AMap page used for allocations. More...
 
   ulong   backfill_location 
 The current backfill marker, when backfilling. More...
 
};  
 
union { 
 
   ulong   entries [max_entries
 Each entry has bits for the amap page (ordinal) and free space (slots) More...
 
   byte   _ignore [extra_space
 
};  
 
page_trailer< T > trailer
 The page trailer.
 

Static Public Attributes

static const size_t extra_space = page<T>::page_data_size - 8
 
static const size_t max_entries = extra_space / sizeof(ulong)
 Maximum number of entries in the dlist page.
 

Detailed Description

template<typename T>
struct pstsdk::disk::dlist_page< T >

A metapage holding information about AMap pages.

The Density List page contains a list of AMap pages in the file, in ascending order of density. That is to say, the "emptiest" page is at the top. This is the data backing the new allocation scheme which replaced the old pmap/fmap/fpmap scheme, starting in Outlook 2007 SP2.

Template Parameters
Tulonglong for a unicode store, ulong for an ANSI store
See also
[MS-PST] 2.2.2.7.4.2

Definition at line 712 of file disk.h.

Member Data Documentation

◆ [union]

union { ... } pstsdk::disk::dlist_page< T >

◆ [union]

union { ... } pstsdk::disk::dlist_page< T >

◆ _ignore

template<typename T >
byte pstsdk::disk::dlist_page< T >::_ignore[extra_space]

Definition at line 727 of file disk.h.

◆ backfill_location

template<typename T >
ulong pstsdk::disk::dlist_page< T >::backfill_location

The current backfill marker, when backfilling.

Definition at line 722 of file disk.h.

◆ current_page

template<typename T >
ulong pstsdk::disk::dlist_page< T >::current_page

The current AMap page used for allocations.

Definition at line 721 of file disk.h.

◆ entries

template<typename T >
ulong pstsdk::disk::dlist_page< T >::entries[max_entries]

Each entry has bits for the amap page (ordinal) and free space (slots)

Definition at line 726 of file disk.h.

◆ extra_space

template<typename T >
const size_t pstsdk::disk::dlist_page< T >::extra_space = page<T>::page_data_size - 8
static

Definition at line 714 of file disk.h.

◆ flags

template<typename T >
byte pstsdk::disk::dlist_page< T >::flags

Flags indicating the state of the dlist page.

Definition at line 717 of file disk.h.

◆ max_entries

template<typename T >
const size_t pstsdk::disk::dlist_page< T >::max_entries = extra_space / sizeof(ulong)
static

Maximum number of entries in the dlist page.

Definition at line 715 of file disk.h.

◆ num_entries

template<typename T >
byte pstsdk::disk::dlist_page< T >::num_entries

Number of entries in the entries array.

Definition at line 718 of file disk.h.

◆ trailer

template<typename T >
page_trailer<T> pstsdk::disk::dlist_page< T >::trailer

The page trailer.

Definition at line 729 of file disk.h.


The documentation for this struct was generated from the following file: