确认及寻求解决办法 非管理员用户是否不能使用CREATFILE开启\\.\physicaldriver1类似的U盘?

stecdeng 2011-08-31 03:46:36
如题 代码在管理员权限运行无错 在POWER USER下运行就不能开启physicaldriver1的U盘
...全文
106 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
stecdeng 2011-09-03
  • 打赏
  • 举报
回复
还是不能解决问题 算了 结贴
stecdeng 2011-09-02
  • 打赏
  • 举报
回复
谢谢 是RtlVolumeDeviceToDosName
我需要的是写磁盘设备 那么还是。。。。


是这样的 我写的驱动挂载在注册表CLASS的卷项目下
这样USB卷加载时候,我通过截获的USB的DEVICEOBJECT->VPB->Realdevice 获取到磁盘设备(现在也不知道是不是磁盘设备的设备对象指针了 糊涂了)

然后才进行上面的操作status = ObQueryNameString 获得"\Device\Harddisk1\DP(1)0-0+7
但是创建句柄 返回STATUS_NO_SUCH_DEVICE ((NTSTATUS)0xC000000EL)
我观察其他驱动也是截获此U盘设备对象创建的名字是\Device\Harddisk1\DR6 读写就正常
我应该如何从USB卷设备中获取卷所在的USB磁盘设备并创建句柄进行读写?
谢谢xiaoc1026
分应该给你 如果能帮我解决这个问题更好
再次感谢回复的各位

见习学术士 2011-09-01
  • 打赏
  • 举报
回复
你这个路径是设备名,应该通过RtlVolumeDeviceToDosName转成逻辑路径

另外ZwCreateFile 的 IRQL 是 PASS_LEVEL
stecdeng 2011-09-01
  • 打赏
  • 举报
回复
提权在产品里 估计难
主要是不能打开磁盘设备比较头痛
我想尝试在驱动里解决
问题如下 解决了加分 谢谢

已知卷设备对象 如何获取卷所在磁盘的句柄并进行磁盘读写?

我写了一个卷过滤驱动 想截获卷加载的时候读取它所在的磁盘内容 但是问题如下:
//根据卷设备的VPB获得磁盘设备
DeviceObject= 卷设备的VPB->RealDevice
那么磁盘设备对象就是已知了 那么如何获得句柄HANDLE 来对磁盘进行读写?我进行了几次尝试未果

第一次是使用ObOpenObjectByPointer 通过设备对象来获得句柄句柄HANDLE
但是在ZwReadFile使用这个句柄对磁盘读写 返回类型错误



然后我尝试使用ObQueryNameString

//根据卷设备的VPB获得磁盘设备
DeviceObject= 卷设备的VPB->RealDevice
获得磁盘设备然后

status = ObQueryNameString (DeviceObject,
PFileNameInfo,
NumberOfBytes,
&LengthNeeded); //这里名字获得成功 "\Device\Harddisk1\DP(1)0-0+7"

InitializeObjectAttributes(&ObjAttrib,&(PFileNameInfo->Name),
OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE,
NULL,NULL);
status = ZwCreateFile(&DeviceHandle,
GENERIC_READ,
&ObjAttrib,
&IoStatus,
NULL,
FILE_ATTRIBUTE_NORMAL,
0,
FILE_OPEN,
FILE_SYNCHRONOUS_IO_NONALERT,
NULL,
0);
if(!NT_SUCCESS(status))
{ //总失败 #define STATUS_NO_SUCH_DEVICE ((NTSTATUS)0xC000000EL)
ExFreePool (PFileNameInfo);
PFileNameInfo = NULL;
DbgPrint("IsSafeUSB() Create File Failed\n");
return status;
}
哪里的问题? 麻烦给点意见 谢谢

见习学术士 2011-08-31
  • 打赏
  • 举报
回复
现在的Windows系统是不允许非管理员身份的进程直接访问设备

你可以试着提权后再打开试试
无言猪 2011-08-31
  • 打赏
  • 举报
回复
只能用管理员权限,MSDN的CreateFile里面有说明.

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧