CTL_CODE定义中Method的说明
来源:互联网 发布:英国平面设计排名知乎 编辑:程序博客网 时间:2024/05/17 23:46
我在上一篇中说明CTL_CODE的时候,其中CTL_CODE定义中有一个Method域,该域的功能意义是定义用于与在驱动程序中获取应用程序数据缓冲区的地址方式。如果你看了我前边的文章,你可以看到在DeviceIoControl的使用说明中对DeviceIoControl参数进行描述中关于lpInBuffer 和lpOutBuffer 的描述。简单的说,Method域就是定义了lpInBuffer 和lpOutBuffer 缓冲区在驱动程序中对这两个缓冲区地址的获取和数据的操作方式。我们分别进行描述:
系统分配一个缓冲区用于输入和输出,该缓冲区的字节数应该为应用程序的输入和输出缓冲区中较大的字节数。驱动程序中通过KIrp::IoctlBuffer获得缓冲区的地址。对于输出,驱动程序必须将输出字节数返回给I.Information(),然后由I/O管理器将数据从系统缓冲区复制到应用程序的缓冲区中。
在这两种方式下,输入缓冲区数据被复制到一个系统缓冲区中,驱动程序可以用KIrp::IoctlBuffer访问这个缓冲区。输出缓冲区被类KMemory对象映射,驱动程序可以通过KIrp::Mdl来访问这个缓冲区。
这个比较特殊,一般不使用。
- CTL_CODE定义中Method的说明
- CTL_CODE定义中Method的说明
- CTL_CODE定义中Method的说明
- CTL_CODE定义中Method的说明
- CTL_CODE定义中Method的说明
- CTL_CODE定义中Method的说明
- DeviceIoControl的使用说明/CTL_CODE说明/CTL_CODE定义中Method的说明[转]
- CTL_CODE定义说明
- CTL_CODE定义说明
- CTL_CODE 定义说明
- CTL_CODE 定义说明
- 驱动开发 CTL_CODE 定义说明
- 驱动开发 CTL_CODE 定义说明
- CTL_CODE 定义说明(重要理解内容)
- CTL_CODE说明
- CTL_CODE说明
- CTL_CODE说明
- CTL_CODE说明
- 连接ORACLE数据库时报错:Unknown error opening cursor
- CTL_CODE说明
- hibernate保存数据到mysql的编码编码问题
- DeviceIoControl的使用说明
- Tuning Linode VPS-小规模低性能低流量网站优化实践
- CTL_CODE定义中Method的说明
- 选人:贺老师教1班和2班两个班的C++程序设计课,1班同学的学号为1-41,2班同学的学号为42-84,现在每个班要抽签确定5名同学去参加学校组织的教学效果评价,请编程完成这个“抽签”的工作。
- JAVA的Random类
- Android下拉刷新ListView——RTPullListView
- 关于php mysql的三个函数的用途
- 5555
- Cocoa自定义View
- java获取随机数的几种方法
- poj 3122 pie(二分搜索)