《win7设备驱动win7设备驱动程序程序开发》学习笔记
番茄系统家园 · 2021-08-13 02:52:56

-------------------------------------------------------------------------------------为KMDF编写程序-----------------------------------------------------------------
示例程序描述列表 P136
2WDM示例程序与KMDF示例程序比较 P139
程序中两个重要的宏 P140
--可以让驱动程序断定函数是在在及以上的级别调用的。
--它禁用某个未引用参数的编译器警告。
驱动程序的结果和概念 P140
1所有KMDF驱动程序都创建了一个对象和代表每个设备的对象。大多数驱动程序还创建了一个或多个表示驱动程序IO队列的WDFQUEUE对象。
2所有KMDF对象的创建方法都是使用KMDF初始化方法和对象创建方法。
3所有KMDF对象都有一个或多个对象上下文区。
5KMDF对象创建 P141
1初始化对象配置结构config
2初始化对象特性结构attribute
3调用对象创建方法。
6对象上下文区context P142
1对象context是与特定实例相关的数据
2对于设备对象context等价设备扩展。
3KMDF删除对象时context会连同被删除。
7IO队列
KMDF的队列管理那些针对驱动程序的请求。任何队列最重要的特征是其接受的请求类型read/write/ioctl、调度这些请求的方式sequential/parallel
以及KMDF是否处理这些队列的电源管理。驱动程序为每个队列指定以下内容
1放在队列中的IO请求类型。例如SettheWriteQueueforwardingforIRP_MJ_WRITErequests.
2队列的调度方法。WDF_IO_QUEUE_CONFIG_INIT
3队列的电源管理选择。
4注册IO事件回调函数以处理来自队列的IO请求。
5队列是否接受具有零长度缓冲区的请求。
免责声明: 凡标注转载/编译字样内容并非本站原创,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如果你觉得本文好,欢迎推荐给朋友阅读;本文链接: https://m.nndssk.com/post/31319.html。
