pub fn scan_vtable_fn<T: VirtualMemory>(
    process: &mut Win32Process<T>,
    interface_manager: &InterfaceManager,
    vtable: Address,
    idx: usize,
) -> Result<Option<Function>> {
    let func = match process.virt_mem.virt_read_addr32(vtable + idx * 4) {
        Ok(f) => f,
        Err(_) => return Err(Error::Other("unable to read vtable func")),
    };

    scan_fn(process, interface_manager, func)
}
/// Scans the given vtable index for a potential hook
Scans the given vtable index for a potential hook
Scans the given vtable index for a potential hook
pub fn scan_vtable_fn<T: VirtualMemory>(
    process: &mut Win32Process<T>,
    interface_manager: &InterfaceManager,
    vtable: Address,
    idx: usize,
) -> Result<Option<Function>> {
    let func = match process.virt_mem.virt_read_addr32(vtable + idx * 4) {
        Ok(f) => f,
        Err(_) => return Err(Error::Other("unable to read vtable func")),
    };
    scan_fn(process, interface_manager, func)
}
pub fn scan_vtable_fn < T : VirtualMemory > ( process : & mut Win32Process < T > , interface_manager : & InterfaceManager , vtable : Address , idx : usize , ) -> Result < Option < Function > > { let func = match process . virt_mem . virt_read_addr32 ( vtable + idx * 4 ) { Ok ( f ) => f , Err ( _ ) => return Err ( Error :: Other ( " " ) ) , } ; scan_fn ( process , interface_manager , func ) }
Scans the given vtable index for a potential hook
Scans the given vtable index for a potential hook
process
&mut Win32Process<T>
interface_manager
&InterfaceManager
vtable
Address
idx
usize
process
&mut Win32Process<T>
interface_manager
&InterfaceManager
vtable
Address
idx
usize