阅读:1306回复:0
filter中调用ZwCreateFile和rising2004冲突,请赐教
在处理IRP_MJ_CREATE时候,我需要读一个文件来判断当前需要创建/打开的文件是否需要处理,俺使用ZwCreateFile来打开文件.
程序一直运行很好. ======================= 运行2年多后,突然发现2k下和rising2004冲突. ZwCreateFile调用有时停顿2-6秒. xp下没有这个问题. rising2003没有这个问题. ======================= 代码流程如下,请赐教: IRP_MJ_CREATE: | \|/ 是否重入,如果是重入,不做处理. | \|/ ExInitializeWorkItem/ExQueueWorkItem,设置好处理函数WorkItemReadFile,并通过KeWaitForSingleObject等待事件 | \|/ WorkItemReadFile被调用,里面使用ZwCreateFile打开文件 处理完毕,KeSetEvent事件返回 ====================== 我确信重入处理好了,调试现象是:WorkItemReadFile里面调用ZwCreateFile有时候会停顿2-6秒. ====================== 谢了. |
|