驱动通信:驱动与应用的通信

Posted lyshark

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了驱动通信:驱动与应用的通信相关的知识,希望对你有一定的参考价值。

驱动程序与应用程序的通信离不开派遣函数,派遣函数是Windows驱动编程中的重要概念,一般情况下驱动程序负责处理I/O特权请求,而大部分IO的处理请求是在派遣函数中处理的,当用户请求数据时,操作系统会提前处理好请求,并将其派遣到指定的内核函数中执行,接下来将详细说明派遣函数的使用并通过派遣函数读取Shadow SSDT中的内容。

先来简单介绍一下 IRP(I/O Request Package) 输入输出请求包,该请求包在Windows内核中是一个非常重要的数据结构,当我们的上层应用与底层的驱动程序通信时,应用程序就会发出I/O请求,操作系统将该请求转化为相应的IRP数据,然后会根据不同的请求数据将请求派遣到相应的驱动函数中执行,这一点有点类似于Windows的消息机制。

创建设备对象: 在使用派遣函数的之前需要创建设备对象,因为后期的读写都要通过设备对象来连接。


1111

以上是关于驱动通信:驱动与应用的通信的主要内容,如果未能解决你的问题,请参考以下文章

delphi 应用程序与 Windows NT 系统驱动程序之间的通信

CreateFile DeviceIoControl dwIoControlCode——应用程序与驱动程序通信

android udp通信(应用层与底层硬件的通信)

网络通信与便携式应用驱动SRAM技术发展

驱动和应用层的三种通信方式 (学习)

LINUX设备驱动程序如何与硬件通信