我正在创建文件系统过滤器驱动程序,需要打开一些文件来检查调度例程中的属性。我正在使用ZwCreateFile()。但是我的调度例程在每个文件系统请求时都会被调用,所以我的ZwCreateFile()将再次调用我的调度例行程序。避免死锁的最佳方法是什么?我认为使用旗帜或其他东西是个不错的选择?
我已经测试过,在设备扩展中对标志进行简单签名在某些情况下仍然不会更改标志或标志包含旧数据。
感谢
尝试IoCreateFileSpecifyDeviceObjectHint、IoCreateFileEx或FtlCreateFile。