pub struct HiberfilBuilder { /* private fields */ }Expand description
Build a synthetic Windows hibernation file (hiberfil.sys).
Produces a PO_MEMORY_IMAGE header with “hibr” magic, processor state
page with CR3, a page table page with PFN entries, and Xpress LZ77
compressed data blocks.
Layout:
- Page 0 (offset 0x0000): PO_MEMORY_IMAGE header with “hibr” magic at 0x00,
LengthSelfat 0x0C (256 = 64-bit),FirstTablePageat 0x68 (value 2). - Page 1 (offset 0x1000): Processor state page with CR3 at offset 0x28.
- Page 2 (offset 0x2000): Page table – array of PFN entries (u64),
terminated by
0xFFFF_FFFF_FFFF_FFFF. - After header pages: Xpress LZ77 compressed blocks.
Block header: sig(8) + num_pages_minus_1(1) + compressed_size_field(3 bytes)
- padding to 0x20 + compressed data.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for HiberfilBuilder
impl RefUnwindSafe for HiberfilBuilder
impl Send for HiberfilBuilder
impl Sync for HiberfilBuilder
impl Unpin for HiberfilBuilder
impl UnsafeUnpin for HiberfilBuilder
impl UnwindSafe for HiberfilBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more