pub struct WindowsKeyControlBlock<'a, Driver>{ /* private fields */ }os-windows only.Expand description
A Windows registry key control block.
A registry key in the kernel mode registry cache. It helps the Configuration Manager manage registry keys efficiently by avoiding redundant registry lookups.
§Implementation Details
Corresponds to _CM_KEY_CONTROL_BLOCK.
Implementations§
Source§impl<'a, Driver> WindowsKeyControlBlock<'a, Driver>
impl<'a, Driver> WindowsKeyControlBlock<'a, Driver>
Sourcepub fn new(
vmi: VmiState<'a, WindowsOs<Driver>>,
va: Va,
) -> WindowsKeyControlBlock<'a, Driver>
pub fn new( vmi: VmiState<'a, WindowsOs<Driver>>, va: Va, ) -> WindowsKeyControlBlock<'a, Driver>
Creates a new Windows key control block.
Sourcepub fn refcount(&self) -> Result<u64, VmiError>
pub fn refcount(&self) -> Result<u64, VmiError>
Returns the reference count of the key control block.
§Implementation Details
Corresponds to _CM_KEY_CONTROL_BLOCK.RefCount.
Sourcepub fn discarded(&self) -> Result<bool, VmiError>
pub fn discarded(&self) -> Result<bool, VmiError>
Returns whether the key control block has been marked as discarded.
A discarded KCB no longer backs a live key node. The cache slot is kept alive only until its reference count drops to zero.
§Implementation Details
Corresponds to _CM_KEY_CONTROL_BLOCK.Discarded or
_CM_KEY_CONTROL_BLOCK.Delete.
Sourcepub fn parent(
&self,
) -> Result<Option<WindowsKeyControlBlock<'a, Driver>>, VmiError>
pub fn parent( &self, ) -> Result<Option<WindowsKeyControlBlock<'a, Driver>>, VmiError>
Returns the parent key control block.
§Implementation Details
Corresponds to _CM_KEY_CONTROL_BLOCK.ParentKcb.
Sourcepub fn name(&self) -> Result<String, VmiError>
pub fn name(&self) -> Result<String, VmiError>
Returns the name of the key.
§Implementation Details
Corresponds to _CM_KEY_CONTROL_BLOCK.NameBlock.
If the _CM_NAME_CONTROL_BLOCK.Compressed field is set, the name is
read as an ASCII string. Otherwise, the name is read as a UTF-16
string.
Trait Implementations§
Source§impl<Driver> VmiVa for WindowsKeyControlBlock<'_, Driver>
impl<Driver> VmiVa for WindowsKeyControlBlock<'_, Driver>
Auto Trait Implementations§
impl<'a, Driver> !Freeze for WindowsKeyControlBlock<'a, Driver>
impl<'a, Driver> !RefUnwindSafe for WindowsKeyControlBlock<'a, Driver>
impl<'a, Driver> !Send for WindowsKeyControlBlock<'a, Driver>
impl<'a, Driver> !Sync for WindowsKeyControlBlock<'a, Driver>
impl<'a, Driver> !UnwindSafe for WindowsKeyControlBlock<'a, Driver>
impl<'a, Driver> Unpin for WindowsKeyControlBlock<'a, Driver>
impl<'a, Driver> UnsafeUnpin for WindowsKeyControlBlock<'a, Driver>
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.