DRIVER_OBJECT
(2011-08-08 10:17:43) 标签: it |
typedef struct _DRIVER_OBJECT {
} DRIVER_OBJECT;
DRIVER_OBJECT STRUCT ; sizeof= 0A8h
_Type SWORD ? ; 0000h
_Size SWORD ? ; 0004h
; The following links all of the devices created by a single driver
; together on a list, and the Flags word provides an extensible flag
; location for driver objects.
DeviceObject PVOID ? ; 0004h PTR DEVICE_OBJECT
Flags DWORD ? ; 0008h
; The following section describes where the driver is loaded.
; field is used to count the number of times the driver has had its
; registered reinitialization routine invoked.
DriverStart PVOID ? ; 000Ch
DriverSize DWORD ? ; 0010h
DriverSection PVOID ? ; 0014h
DriverExtension PVOID ? ; 0018h PTR DRIVER_EXTENSION
; The driver name field is used by the error log thread
; determine the name of the driver that an I/O request is/was bound.
DriverName UNICODE_STRING <> ; 001Ch
; The following section is for registry support.
; to the path to the hardware information in the registry
HardwareDatabase PVOID ? ; 0024h PTR UNICODE_STRING
; The following section contains the optional pointer to an array of
; alternate entry points to a driver for "fast I/O" support.
; is performed by invoking the driver routine directly with separate
; parameters, rather than using the standard IRP call mechanism.
; that these functions may only be used for synchronous I/O, and when
; the file is cached.
FastIoDispatch PVOID ? ; 0028h PTR FAST_IO_DISPATCH
; The following section describes the entry points to this particular
; driver.
; field in the object so that it remains extensible.
DriverInit PVOID ? ; 002Ch
DriverStartIo PVOID ? ; 0030h
DriverUnload PVOID ? ; 0034h
MajorFunction PVOID (IRP_MJ_MAXIMUM_FUNCTION + 1) dup(?) ; 0038h
DRIVER_OBJECT ENDS
PDRIVER_OBJECT typedef PTR DRIVER_OBJECT