阅读:2271回复:0
请问:DRIVER_OBJECT结构中成员的含义。附DRIVER_OBJECT定义。
DRIVER_OBJECT STRUCT ; sizeof= 0A8h
_Type SWORD ? ; 0000h (IO_TYPE_DRIVER = 4) (original field name Type) _Size SWORD ? ; 0004h (original name Size) ; 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. The count ; 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. Thise is a pointer ; 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. Fast I/O ; is performed by invoking the driver routine directly with separate ; parameters, rather than using the standard IRP call mechanism. Note ; 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. Note that the major function dispatch table must be the last ; 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 |
|
|