aasa2
驱动中牛
驱动中牛
  • 注册日期2004-04-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分525分
  • 威望339点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
阅读:1058回复:3

文件路径2问题 fullpathname

楼主#
更多 发布于:2004-12-28 09:45
在filemon,我使用ObQueryNameString获得文件路径。
但是都是一些“\\Device\\HarddiskVolume2”.
请问打下为什么呀?
DbgPrint( ("Opened %ws\n", nameInfo->Name.Buffer) );

还有一个问题
文件路径全名到底在什么地方?
fileObject->DeviceObject
还是
fileObject->FileName
技术交流:aasa2@21cn.com QQ群:10863699
liwashington
驱动小牛
驱动小牛
  • 注册日期2004-04-30
  • 最后登录2010-10-21
  • 粉丝0
  • 关注0
  • 积分-11分
  • 威望98点
  • 贡献值1点
  • 好评度12点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-28 09:55
在驱动中路径就是这个样子的,\\Device\\HarddiskVolumeX就是驱动器信息了。在FileName中也是不全的,想要全路径,自已转换吧!
这是ZwQueryInformationFile中的说明:
If the full path and file name are returned, the string will begin with a single backslash, regardless of its location. Thus the file C:\\dir1\\dir2\\filename.ext will appear as \\dir1\\dir2\\filename.ext, while the file \\\\server\\share\\dir1\\dir2\\filename.ext will appear as \\server\\share\\dir1\\dir2\\filename.ext.

我只想有个好老婆,每天有几顿好饭吃……
zhangshengyu
驱动老牛
驱动老牛
  • 注册日期2003-10-03
  • 最后登录2016-07-26
  • 粉丝0
  • 关注0
  • 积分792分
  • 威望696点
  • 贡献值41点
  • 好评度499点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2004-12-28 10:48
最好不要转换成c:等,因为盘符是可以变的。
---内核开发合作或提供基础技术服务QQ:22863668 ---
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-12-28 15:59
filemon中是通过构造IRP来自己解决的。
//获取文件对象的完整路径
FileMonGetFullPath(
    BOOLEAN createPath,
    PFILE_OBJECT fileObject,
    PHOOK_EXTENSION hookExt,
    PCHAR fullPathName
    );

//具体的实现函数
FileMonQueryFile(
    PDEVICE_OBJECT DeviceObject,
    PFILE_OBJECT FileObject,
    FILE_INFORMATION_CLASS FileInformationClass,
    PVOID FileQueryBuffer,
    ULONG FileQueryBufferLength
    );
在交流中学习。。。
游客

返回顶部