据我所知,与DeviceDriver通信的唯一入口是使用CreateFile。
问题1 - 除了使用CreateFile,是否还有其他与设备驱动程序通信的方法?
问题2 - 使用伪文件访问方法时,人们通常如何使用ReadFile和WriteFile?仅用于传递数据输入输出,还是还有其他特殊目的?
如果有相关文章链接,将非常感激。
据我所知,与DeviceDriver通信的唯一入口是使用CreateFile。
问题1 - 除了使用CreateFile,是否还有其他与设备驱动程序通信的方法?
问题2 - 使用伪文件访问方法时,人们通常如何使用ReadFile和WriteFile?仅用于传递数据输入输出,还是还有其他特殊目的?
如果有相关文章链接,将非常感激。
这些文章可能对您很有用
http://www.osronline.com/article.cfm?id=24
http://www.osronline.com/article.cfm?article=39
https://learn.microsoft.com/en-us/windows-hardware/drivers/wdf/working-with-usb-pipes
A1:是的,像Pipes这样的工具很少,但我记得它使用CreateFileA。
A2:这不是伪文件(内核对象并不完全是文件,你主要可以从它们读/写数据),但read/writefile函数是设计用来传递数据的。
如果您的驱动程序是一个与过滤器管理器一起工作的迷你过滤器驱动程序(文件系统过滤器驱动程序),则可以使用CommunicationPorts。请参阅FltCreateCommunicationPort。