xlkjmjp
驱动牛犊
驱动牛犊
  • 注册日期2004-11-10
  • 最后登录2005-11-24
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:949回复:2

一个打开操作会收到几个IRP_MJ_CREATE呢?

楼主#
更多 发布于:2005-01-09 09:50
我的驱动功能:监视D盘每打开的每一个文件,处理每一个成功的CREATE处理,并在日志里记录所有的文件名(害死我了,日志里随时“客满”),结果我发现,当我用软件打开D盘的一个文本文件,或MP3音乐的时候,会在日志里记录好几条记录,比如,我打开了一个文件d:\mp3\mymusic.mp3,就会在日志里发现:
******************************
d:\
d:\mp3
d:\mp3\
d:\mp3\mymusic.mp3
d:\mp3\mymusic.mp3
********************************
好像每一级目录都记录了,文件名还出现了至少两次,这是什么回事啊,是不是每打开一个文件,就要打开每一级目录啊,为什么打开一个文件会产生这么多请求呢?
liwashington
驱动小牛
驱动小牛
  • 注册日期2004-04-30
  • 最后登录2010-10-21
  • 粉丝0
  • 关注0
  • 积分-11分
  • 威望98点
  • 贡献值1点
  • 好评度12点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-10 09:18
我想可能有以下原因:
1、系统在处理目录时是和文件处理一样的,所以每次会有打开目录的操作。
2、软件在打开文件时可能会有一些不同的操作,比如说调整文件的指针位置、Lock、不同打开权限等,这样就造成了有多次打开操作。

你可以用filemon看一下,几次打开有什么不同。

[编辑 -  1/10/05 by  liwashington]
我只想有个好老婆,每天有几顿好饭吃……
cicada
驱动小牛
驱动小牛
  • 注册日期2003-12-09
  • 最后登录2008-07-11
  • 粉丝1
  • 关注0
  • 积分74分
  • 威望15点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-09 09:56
是啊,为何如此呢?高手解惑。
游客

返回顶部