阅读:947回复:2
一个打开操作会收到几个IRP_MJ_CREATE呢?
我的驱动功能:监视D盘每打开的每一个文件,处理每一个成功的CREATE处理,并在日志里记录所有的文件名(害死我了,日志里随时“客满”),结果我发现,当我用软件打开D盘的一个文本文件,或MP3音乐的时候,会在日志里记录好几条记录,比如,我打开了一个文件d:\mp3\mymusic.mp3,就会在日志里发现:
****************************** d:\ d:\mp3 d:\mp3\ d:\mp3\mymusic.mp3 d:\mp3\mymusic.mp3 ******************************** 好像每一级目录都记录了,文件名还出现了至少两次,这是什么回事啊,是不是每打开一个文件,就要打开每一级目录啊,为什么打开一个文件会产生这么多请求呢? |
|
沙发#
发布于:2005-01-09 09:56
是啊,为何如此呢?高手解惑。
|
|
板凳#
发布于:2005-01-10 09:18
我想可能有以下原因:
1、系统在处理目录时是和文件处理一样的,所以每次会有打开目录的操作。 2、软件在打开文件时可能会有一些不同的操作,比如说调整文件的指针位置、Lock、不同打开权限等,这样就造成了有多次打开操作。 你可以用filemon看一下,几次打开有什么不同。 [编辑 - 1/10/05 by liwashington] |
|
|