WDF_DRIVER_CONFIG结构体是WdfDriverCreate接口的输入参数。
语法:
typedef struct _WDF_DRIVER_CONFIG {
ULONG Size;
PFN_WDF_DRIVER_DEVICE_ADD EvtDriverDeviceAdd;
PFN_WDF_DRIVER_UNLOAD EvtDriverUnload;
ULONG DriverInitFlags;
ULONG DriverPoolTag;
} WDF_DRIVER_CONFIG, *PWDF_DRIVER_CONFIG;
成员:
Size
这个结构体的大小,以自己为单位;
EvtDriverDeviceAdd
Windows驱动的EvtDriverDeviceAdd回调函数指针;
EvtDriverUnload
Windows驱动的EvtDriverUnload回调函数指针;
DriverInitFlags
驱动初始化标志位,由一个或者多个WDF_DRIVER_INIT_FLAGS类型值构成;
DriverPoolTag
驱动定义的内存池标签,是Framework分配给驱动的内存标签。调试时可以显示这个标签。(KMDF 1.5及之后版本支持)
备注:
内存池标签是可选的,通常由1个制4个字母用单引号以相反的顺序组成。标签中每一个字母的ASCII值必须保证在0到127之间。
如果DriverPoolTag是0,Framework将会创建一个默认的内存池标签,这个标签由内核驱动服务的前四个祖母组成。如果这个驱动服务名以“WDF”开始(名字没有区分大小写并且没有包含在单引号中),那么将会用接着的四个字母表示,如果少于四个,就用“FxDx”代替。
驱动必须调用WDF_DRIVER_CONFIG_INIT来完成WDF_DRIVER_CONFIG结构体的初始化。
Note:
1. DriverPoolTag的使用必须是在KMDF1.5及之后的版本;
2. 头文件Wdfdriver.h.