驱动对象(Driver Object)
1.
在操作系统首次装载一个驱动程序之后,它会创建一个数据结构用来记录该驱动,该数据结构我们称为
驱
动对象
(
Driver Object
)。
2.
驱动对象
记录与驱动程序本身相关的信息,它主要包含了除了DriverEntry之外的其它驱动程序入口函数的入口地址。(
驱动程序是一种具有多个入口函数的程
序
)
3.
驱动对象是由操作系统创建,然后作为DriverEntry的第一个参数传递给你的程序。
4.
在获得驱动对象的指针之后,你的程序需要对其中的一些字段进行初始化。
1.
驱动对象在DDK的头文件(Wdm.h)中按如下方式定义:。
typedef
struct _DRIVER_OBJECT {
CSHORT Type;
CSHORT Size;
… …
} DRIVER_OBJECT, *PDRIVER_OBJECT;
2.
由上面的定义可以看成,驱动对象不同于C++中的Class,它只是一个Struct。
![](https://img-my.csdn.net/uploads/201205/18/1337343893_5806.jpg)