PST File Format SDK v0.4
Loading...
Searching...
No Matches
writer.h File Reference

In place edits of heaps, BTHs, property contexts and table contexts. More...

#include <algorithm>
#include <cstring>
#include <vector>
#include "pstsdk/util/errors.h"
#include "pstsdk/util/primitives.h"
#include "pstsdk/ndb/writer.h"
+ Include dependency graph for writer.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  pstsdk
 Contains the definition of all in memory representations of disk structures.
 

Detailed Description

In place edits of heaps, BTHs, property contexts and table contexts.

Built on db_writer, so the same rules apply: nothing moves, nothing grows, and a shared block is refused rather than copied.

Heap allocations shrink the way [MS-PST] 2.3.1.5 describes, by sliding the allocations above them down and leaving the freed entry zero length. The allocation array never shrinks, so every heap id in the block keeps its meaning. The block itself must not shrink either: heap_impl::size reads the page map as everything from page_map_offset to the end of the block, so trimming the block would truncate the map.

Definition in file writer.h.