typedef struct _DRIVER_OBJECT

来源:互联网 发布:数据库数字类型 编辑:程序博客网 时间:2024/04/29 14:20
typedef struct _DRIVER_OBJECT {    CSHORT Type;    CSHORT 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.    //    PDEVICE_OBJECT DeviceObject;    ULONG Flags;    //    // 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.    //    PVOID DriverStart;    ULONG DriverSize;    PVOID DriverSection;    PDRIVER_EXTENSION DriverExtension;    //    // 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.    //    UNICODE_STRING DriverName;    //    // The following section is for registry support.  Thise is a pointer    // to the path to the hardware information in the registry    //    PUNICODE_STRING HardwareDatabase;    //    // 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.    //    PFAST_IO_DISPATCH FastIoDispatch;    //    // 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.    //    PDRIVER_INITIALIZE DriverInit;    PDRIVER_STARTIO DriverStartIo;    PDRIVER_UNLOAD DriverUnload;    PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION + 1];} DRIVER_OBJECT;typedef struct _DRIVER_OBJECT *PDRIVER_OBJECT; 

原创粉丝点击