【发布时间】:2012-12-14 17:56:48
【问题描述】:
我有一个顶级微过滤驱动和一个用户模式服务,类似于Scanner MSDN example。
我希望我的用户模式服务在 A.txt 文件内容在记事本中打开时替换它。
因此,在IRP_MJ_CREATE 操作后回调中,我正在向服务发送通知并等待它将新数据写入文件。
但是服务无法打开A.txt,因为它已经被记事本锁定了。
如何让我的服务在不使用内核FltWriteFile的情况下写入数据?
这样做的最佳方法是什么?
也许取消文件打开,让服务写入数据并使用相同的参数重新打开它而不离开操作后回调?
也许我应该在预操作中覆盖所需的访问权限?
---
任何信息将不胜感激。如果您认为这个问题缺乏细节,请告诉我。
【问题讨论】:
-
如果有人遇到类似问题,我已经在github上分享了示例实现:github.com/aleksk/LazyCopy
标签: c windows driver minifilter