MicroMath
驱动牛犊
驱动牛犊
  • 注册日期2008-01-22
  • 最后登录2013-07-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望169点
  • 贡献值2点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1461回复:2

由Handle得到文件完整路径的问题

楼主#
更多 发布于:2008-11-25 22:11
我的做法是:
先由ObReferenceObjectByHandle得到FileObject
然后:
文件名(不带盘符):FileObject->FileName
盘符:RtlVolumeDeviceToDosName(FileObject->DeviceObject, ...)

这个方法我发现,
RtlVolumeDeviceToDosName的使用有两个问题:
1。 有时静态加载驱动时在Windows登陆前系统卡死
2。 有时运行在别的驱动中bsod,具体如下

KERNEL_MODE_EXCEPTION_NOT_HANDLED_M


TRAP_FRAME: ba593778 -- (.trap 0xffffffffba593778)
ErrCode = 00000000
eax=8a395898 ebx=00000000 ecx=00000000 edx=8a395828 esi=89c4f2b8 edi=8a395828
eip=a6a2c93a esp=ba5937ec ebp=ba593860 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010246
vmnetuserif+0x93a:
a6a2c93a 8b510c mov edx,dword ptr [ecx+0Ch] ds:0023:0000000c=????????


TACK_TEXT:
WARNING: Stack unwind information not available. Following frames may be wrong.
ba593860 804f018f 89d92ed8 8a395828 00000200 vmnetuserif+0x93a
ba593ac0 b84bdcb0 89d92ed8 ba593af0 ba593d30 nt!IoBuildPartialMdl+0xed
ba593b18 b84be4f0 0000006c ba593b30 00000000 flprtct+0xcb0----------------------------------------->> (RtlVolumeDeviceToDosName)
ba593d38 8054261c 0000006c 00000000 00000000 flprtct+0x14f0
ba593ddc 805470de 80627dc4 00000003 00000000 nt!KeReleaseInStackQueuedSpinLockFromDpcLevel+0xb74
ba593de0 80627dc4 00000003 00000000 0000027f nt!KiDispatchInterrupt+0x72e
ba593de4 00000000 00000000 0000027f 00000000 nt!LsaDeregisterLogonProcess+0xe756

错误在vmnetuserif.sys
flprtct是我的驱动






怎样解决?或是改用其他方法 ?
谨请高手赐教, 不胜感激。
x-star
驱动小牛
驱动小牛
  • 注册日期2007-04-26
  • 最后登录2018-11-17
  • 粉丝0
  • 关注0
  • 积分65分
  • 威望664点
  • 贡献值1点
  • 好评度39点
  • 原创分1分
  • 专家分1分
  • 社区居民
沙发#
发布于:2008-11-26 09:15
看楚狂人的文件过滤驱动教程第二版
MicroMath
驱动牛犊
驱动牛犊
  • 注册日期2008-01-22
  • 最后登录2013-07-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望169点
  • 贡献值2点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-11-29 21:47
明白了,用QueryNameString 然后遍历盘符比较
不过
我的一个虚拟机用了raid0动态卷,结果从盘符查到的设备名都与Query的不同


引用第1楼x-star于2008-11-26 09:15发表的  :
看楚狂人的文件过滤驱动教程第二版
游客

返回顶部