我如何使内核模式下的IOCTL调用(windows)

问题描述:

在用户模式下,可以通过DeviceIoControl函数进行IOCTL调用。
我可以在内核模式下使用什么来发出IOCTL调用?我必须在文件系统微过滤器驱动程序中使用它。我如何使内核模式下的IOCTL调用(windows)

背景
我写一个filesystem minifilter driver,我必须发出存储设备IOCTL调用,找出自己的序列号和功能(可移动或没有)。

您可以使用FltDeviceIoControlFile或使用IoBuildDeviceIoControlRequestIoCallDriver手动构建和发送IRP。

+0

我是否需要调用'IoCompleteRequest'来释放我的IRP或者低级驱动程序执行它? – clyfe 2010-06-10 15:07:02

+0

不,IRP由其中一个较低的设备完成。并且不要忘记使用驱动程序验证工具来检查您的驱动程序! – 2010-06-11 05:42:08

+0

感谢您的协助,这非常有帮助! – clyfe 2010-06-17 09:16:48