pub struct WindowsHandleTable<'a, Driver>{ /* private fields */ }Expand description
A Windows handle table.
A handle table in Windows tracks handles to kernel objects for a specific process, allowing access control and management.
§Implementation Details
Corresponds to _HANDLE_TABLE.
Implementations§
Source§impl<'a, Driver> WindowsHandleTable<'a, Driver>
impl<'a, Driver> WindowsHandleTable<'a, Driver>
Sourcepub fn new(vmi: VmiState<'a, Driver, WindowsOs<Driver>>, va: Va) -> Self
pub fn new(vmi: VmiState<'a, Driver, WindowsOs<Driver>>, va: Va) -> Self
Creates a new Windows module object.
Sourcepub fn table_code(&self) -> Result<u64, VmiError>
pub fn table_code(&self) -> Result<u64, VmiError>
Sourcepub fn next_handle_needing_pool(&self) -> Result<u64, VmiError>
pub fn next_handle_needing_pool(&self) -> Result<u64, VmiError>
Sourcepub fn iter(&'a self) -> Result<HandleTableEntryIterator<'a, Driver>, VmiError>
pub fn iter(&'a self) -> Result<HandleTableEntryIterator<'a, Driver>, VmiError>
Iterates over all handle table entries.
Returns an iterator over all handle table entries that have a valid object pointer. The iterator yields a tuple containing the handle value and the handle table entry.
§Implementation Details
The functionality is similar to the Windows kernel’s internal
ExpSnapShotHandleTables() function.
Sourcepub fn lookup(
&self,
handle: u64,
) -> Result<Option<WindowsHandleTableEntry<'a, Driver>>, VmiError>
pub fn lookup( &self, handle: u64, ) -> Result<Option<WindowsHandleTableEntry<'a, Driver>>, VmiError>
Performs a lookup in the handle table to find the address of a handle table entry.
Implements the multi-level handle table lookup algorithm used by Windows. Returns the virtual address of the handle table entry.
§Implementation Details
The functionality is similar to the Windows kernel’s internal
ExpLookupHandleTableEntry() function.