迷你过滤器功能是否需要启用 APC?
许多使用文件的 Zw* 函数(例如 ZwCreateFile)需要在启用 APC 的情况下在 PASSIVE_LEVEL 调用:http://msdn.microsoft.com/en-us/library/ff566424%28VS.85%29.aspx。这是因为,在内部,I/O 操作是异步的,并且操作的完成是通过 APC 传递的(如果我错了,请纠正我)。
然而,来自迷你过滤器的类似功能(例如FltCreateFile、FltReadFile等)的文档并未指定应启用APC。在禁用 APC 的情况下调用 FltCreateFile/FltReadFile 是否安全?
谢谢!
Many Zw* functions that work with files (such as ZwCreateFile) need to be called at PASSIVE_LEVEL with APCs enabled: http://msdn.microsoft.com/en-us/library/ff566424%28VS.85%29.aspx. This is because, internally, I/O operations are asynchronously and the completion of an operation is delivered through an APC (correct me if I'm wrong).
However, the documentation for similar functions from a mini-filter (such as FltCreateFile, FltReadFile, etc) does not specify that APCs should be enabled. Is it safe to call FltCreateFile/FltReadFile with APCs disabled?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您只能在 PASSIVE_LEVEL 并启用特殊内核 APC(可以禁用普通内核 APC)的情况下调用
ZwCreateFile
和FltCreateFile
。You can call
ZwCreateFile
andFltCreateFile
only at PASSIVE_LEVEL and with special kernel APCs enabled (normal kernel APCs can be disabled).