许多使用文件的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是否安全?
谢谢!
答案 0 :(得分:3)
您只能在PASSIVE_LEVEL上调用ZwCreateFile
和FltCreateFile
并启用特殊内核APC(可以禁用普通内核APC)。