carwin
驱动牛犊
驱动牛犊
  • 注册日期2007-05-27
  • 最后登录2010-03-15
  • 粉丝0
  • 关注0
  • 积分304分
  • 威望71点
  • 贡献值0点
  • 好评度30点
  • 原创分0分
  • 专家分0分
阅读:1515回复:2

显示文件路径时遇到的一个棘手的问题?

楼主#
更多 发布于:2007-07-26 09:19
上次做的那个隐藏指定路径下的键值,我完成了,现在又开始做一个隐藏指定路径下文件的程序,我的思路是先获打开文件的路径,然后和要隐藏的路径作比较,如果符合,就隐藏,我现在已经能够获得打开文件的路径但是,显示的结果是:\Device\HarddiskVolume1\Documents and Settings\All Users\ ,也就是都都是以\Device\HarddiskVolumex 开头的,不晓得咱个把它转化成带卷标的路径真实路径,高手请指点,谢谢了!
     下面我显示路径的关键代码:
        
    rc=ObReferenceObjectByHandle(hFile,0,NULL,KernelMode,(PVOID*)&ptr,NULL);

        if (!NT_SUCCESS(rc))
            {
            return rc;
            }


           pFullPath = (UNICODE_STRING *)ExAllocatePool(PagedPool,1024);
            RtlZeroMemory(pFullPath,1024);
            pFullPath->MaximumLength = 1024;

            rc = ObQueryNameString(ptr,pFullPath,1024,&actualLen);


           DbgPrint("query full dir = %ws\n",pFullPath->Buffer);
            if (!NT_SUCCESS(rc))
            {
            return rc;
             }

             ExFreePool(pFullPath);
            ObDereferenceObject(ptr);
tracera
禁止发言
禁止发言
  • 注册日期2006-01-09
  • 最后登录2018-09-25
  • 粉丝8
  • 关注0
  • 积分-5788分
  • 威望135321点
  • 贡献值0点
  • 好评度625点
  • 原创分1分
  • 专家分0分
  • 社区居民
沙发#
发布于:2007-07-26 09:25
用户被禁言,该主题自动屏蔽!
carwin
驱动牛犊
驱动牛犊
  • 注册日期2007-05-27
  • 最后登录2010-03-15
  • 粉丝0
  • 关注0
  • 积分304分
  • 威望71点
  • 贡献值0点
  • 好评度30点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-26 17:09
恩,好的,谢谢tracera 了,我去看看哈!
游客

返回顶部