阅读:1515回复:2
显示文件路径时遇到的一个棘手的问题?
上次做的那个隐藏指定路径下的键值,我完成了,现在又开始做一个隐藏指定路径下文件的程序,我的思路是先获打开文件的路径,然后和要隐藏的路径作比较,如果符合,就隐藏,我现在已经能够获得打开文件的路径但是,显示的结果是:\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); |
|
沙发#
发布于:2007-07-26 09:25
用户被禁言,该主题自动屏蔽! |
|
板凳#
发布于:2007-07-26 17:09
恩,好的,谢谢tracera 了,我去看看哈!
|
|