PST File Format SDK v0.4
Loading...
Searching...
No Matches
pstsdk::disk::extended_block< ulonglong > Struct Reference

Unicode store version of the extended block. More...

#include <disk.h>

+ Collaboration diagram for pstsdk::disk::extended_block< ulonglong >:

Public Types

typedef ulonglong block_id_disk
 

Public Attributes

byte block_type
 Always block_type_extended.
 
byte level
 If zero, this block points to external blocks. If one, this block points to level zero extended blocks.
 
ushort count
 Number of entries in the bid array.
 
ulong total_size
 Total logical size of this block.
 
block_id_disk bid [1]
 Array of blocks this block points to.
 

Static Public Attributes

static const size_t max_count = (external_block<ulonglong>::max_size - 8) / sizeof(extended_block<ulonglong>::block_id_disk)
 
static const size_t max_size = external_block<ulonglong>::max_size * extended_block<ulonglong>::max_count
 

Detailed Description

Unicode store version of the extended block.

Extended blocks are a way of extended the logical size of a block. It contains references to other blocks (which themselves may be extended blocks). This block can logically be thought of as the concatenation of the blocks it points to. Extended blocks begin with a header. Note the first byte of this header is the block_type - a property shared with the sub_block.

See also
[MS-PST] 2.2.2.8.3.2.1
[MS-PST] 2.2.2.8.3.2.2

Definition at line 1105 of file disk.h.

Member Typedef Documentation

◆ block_id_disk

typedef ulonglong pstsdk::disk::extended_block< ulonglong >::block_id_disk

Definition at line 1107 of file disk.h.

Member Data Documentation

◆ bid

block_id_disk pstsdk::disk::extended_block< ulonglong >::bid[1]

Array of blocks this block points to.

Definition at line 1116 of file disk.h.

◆ block_type

byte pstsdk::disk::extended_block< ulonglong >::block_type

Always block_type_extended.

Definition at line 1112 of file disk.h.

◆ count

ushort pstsdk::disk::extended_block< ulonglong >::count

Number of entries in the bid array.

Definition at line 1114 of file disk.h.

◆ level

byte pstsdk::disk::extended_block< ulonglong >::level

If zero, this block points to external blocks. If one, this block points to level zero extended blocks.

Definition at line 1113 of file disk.h.

◆ max_count

const size_t pstsdk::disk::extended_block< ulonglong >::max_count = (external_block<ulonglong>::max_size - 8) / sizeof(extended_block<ulonglong>::block_id_disk)
static

Definition at line 1109 of file disk.h.

◆ max_size

const size_t pstsdk::disk::extended_block< ulonglong >::max_size = external_block<ulonglong>::max_size * extended_block<ulonglong>::max_count
static

Definition at line 1110 of file disk.h.

◆ total_size

ulong pstsdk::disk::extended_block< ulonglong >::total_size

Total logical size of this block.

Definition at line 1115 of file disk.h.


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