89 _Out_opt_ PWIN_DRIVER_OBJECT *DriverObject
122 #endif // _WINDRVOBJ_H_
QWORD DriverObjectGva
The guest virtual address of the guest _DRIVER_OBJECT represented by this structure.
LIST_ENTRY Link
Entry inside the gWinDriverObjects list.
void * DrvobjIntegrityObject
The integrity object used for the _DRIVER_OBJECT structure.
PWIN_DRIVER_OBJECT IntWinDrvObjFindByDrvObj(QWORD Gva)
Finds a driver object in the gWinDriverObjects list by its guest virtual address. ...
INTSTATUS IntWinDrvObjCreateFromAddress(QWORD GuestAddress, BOOLEAN StaticDetected, PWIN_DRIVER_OBJECT *DriverObject)
Creates a new driver object.
INTSTATUS IntWinDrvObjUninit(void)
Removes all the driver objects in the gWinDriverObjects.
int INTSTATUS
The status data type.
INTSTATUS IntWinDrvObjProtect(WIN_DRIVER_OBJECT *DriverObject)
Protects a driver object and its fast IO dispatch table, if one exists.
INTSTATUS IntWinDrvObjUpdateProtection(void)
Updates the protection for all the driver objects in the gWinDriverObjects list.
INTSTATUS IntWinDrvObjUnprotect(WIN_DRIVER_OBJECT *DriverObject)
Deactivates protection for a driver object and its fast IO dispatch structure.
struct _WIN_DRIVER_OBJECT WIN_DRIVER_OBJECT
Holds information about a driver object.
void * DrvobjHookObject
The EPT hook object used for the _DRIVER_OBJECT structure.
PWIN_DRIVER_OBJECT IntWinDrvObjFindByOwnerAddress(QWORD Owner)
Finds a driver object in the gWinDriverObjects list by the base of the kernel module that owns it...
QWORD FastIOTableAddress
The guest virtual address of the _FAST_IO_DISPATCH structure used by this driver object. May be 0.
INTSTATUS IntWinDrvObjRemove(WIN_DRIVER_OBJECT *DriverObject)
Removes a driver object and updates its owner module.
Holds information about a driver object.
DWORD NameHash
Hash of the Name.
QWORD Owner
Guest virtual address of the kernel module that owns this driver object.
QWORD DriverObjectGpa
The guest physical address of the guest _DRIVER_OBJECT represented by this structure.
PWCHAR Name
NULL-terminated wide-char string containing the name of the driver, as taken from the guest driver ob...
BOOLEAN Aligned
True if the driver object allocation is page aligned.
BOOLEAN IntWinDrvObjIsValidDriverObject(QWORD DriverObjectAddress)
Checks if a guest memory area contains a valid _DRIVER_OBJECT structure.
struct _WIN_DRIVER_OBJECT * PWIN_DRIVER_OBJECT
BOOLEAN DrvobjProtected
True if the driver object structure is protected.
BOOLEAN FiodispProtected
True if the fast IO dispatch structure is protected.
void * FiodispIntegrityObject
The integrity object used for the _FAST_IO_DISPATCH structure.
INTSTATUS IntWinDrvObjRemoveFromAddress(QWORD DriverObjectAddress)
Frees and removes protection for a driver object by its address.
DWORD NameLen
The length, in characters, of Name, not including the NULL-terminator.