DRIVER_OBJECT

DRIVER_OBJECT是驅動程式存在形式

基本介紹

  • 中文名:DRIVER_OBJECT結構體
  • 外文名:DRIVER_OBJECT
  • 含義:驅動程式存在形式
DRIVER_OBJECT結構體,結構體成員,DeviceObject,HardwareDatabase,FastIoDispatch,DriverInit,DriverStartIo,DriverUnload,MajorFunction[IRP_MJ_NUM+1],頭檔案,說明,

DRIVER_OBJECT結構體

每個驅動程式對象代表了一個載入了的核心模式驅動程式映像.這個驅動對象就是以DRIVER_OBJECT結構體的形式存在的.這個驅動對象的指針從驅動程式的DriverEntry函式或AddDevice函式的參數傳入的.

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.
//

相關詞條

熱門詞條

聯絡我們