本文主要是介绍IO设备控制操作--DeviceIoControl,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.除了ReadFile和WirteFile以外,应用程序还可以通过另外一个API DeviceIoControl 操作设备。DeviceIoControl内部会使操作系统创建一个IRP_MJ_DEVICE_CONTROL类型的IRP,然后操作系统会将这个IRP转发到派遣函数中。
2.I/O控制码(IOCTL)一个32位值。DDK提供一个宏CTL_CODE(devicetype,Function,Method,Access)
Function:这是驱动程序定义的IOCTL 0x000-0x7FFF保留,0x800-0xfff,自己用
Method: 这个是操作模式,可以使下列4中模式:
METHOD_BUFFERED
METHOD_IN_DIRECT
METHOD_OUT_DIRECT
METHOD_NEITHER
Access: 访问权限,如果没有特殊要求,一般使用FILE_ANY_ACCESS.
这篇关于IO设备控制操作--DeviceIoControl的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!