Struct nt_hive::Hive[][src]

pub struct Hive<B: ByteSlice> { /* fields omitted */ }

Root structure describing a registry hive.

Implementations

impl<B> Hive<B> where
    B: ByteSlice
[src]

pub fn new(bytes: B) -> Result<Self>[src]

Creates a new Hive from any byte slice. Performs basic validation and rejects any invalid hive.

pub fn major_version(&self) -> u32[src]

Returns the major version of this hive.

The only known value is 1.

pub fn minor_version(&self) -> u32[src]

Returns the minor version of this hive.

You can feed this value to HiveMinorVersion::n to find out whether this is a known version.

pub fn root_key_node(&self) -> Result<KeyNode<&Self, B>>[src]

Returns the root KeyNode of this hive.

impl<B> Hive<B> where
    B: ByteSliceMut
[src]

pub fn clear_volatile_subkeys(&mut self) -> Result<()>[src]

Clears the volatile_subkey_count field of all key nodes recursively.

This needs to be done before passing the hive to an NT kernel during boot. See https://github.com/reactos/reactos/pull/1883 for more information.

Auto Trait Implementations

impl<B> RefUnwindSafe for Hive<B> where
    B: RefUnwindSafe
[src]

impl<B> Send for Hive<B> where
    B: Send
[src]

impl<B> Sync for Hive<B> where
    B: Sync
[src]

impl<B> Unpin for Hive<B> where
    B: Unpin
[src]

impl<B> UnwindSafe for Hive<B> where
    B: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.