[请教]如何临时删除盘符与分区、卷的关系

fly4free 2010-08-19 09:23:39
主要目的是:使USB移动存储设备生成的盘符在资源管理器中看不到(或者更好的 还包括第三方资源管理器)。

我用了 DeleteVolumeMountPoint() , 是成功了,但是拔下后再插上,就不自动为其分配盘符了,
我开发时候用的win2k3,但也在xp下试了,仍旧如此,对此问题我很纠结。

求教各位,有没有能达到前面所说的“主要目的”的方法?

...全文
534 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
myshinji 2010-09-02
  • 打赏
  • 举报
回复
用 DefineDosDevice

第一个参数 用到了 DDD_REMOVE_DEFINITION
第二个参数 使用 “\\\\.\\X:”形式的串,X为盘符字符
第三个嘛,你使用上面第二个参数的串 传入QueryDosDevice这个函数, 得到的是什么就传什么。。
fangchao918628 2010-08-19
  • 打赏
  • 举报
回复
ColdMooon 2010-08-19
  • 打赏
  • 举报
回复
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NOdrives"=dword:XXXXXXXX
1为A,2为B,4为C,8为D。。。依次类推。
fly4free 2010-08-19
  • 打赏
  • 举报
回复
PS:

实际上我主要是想对 磁盘设备进行读写操作,如 \\.\PhysicalDriveX 这样的设备,
而在其之上的是分区或者卷了吧?
我本来是想,使其只生成 磁盘设备 (貌似是USBSTOR驱动做的),在其之上的就不生成了,这样,就不会有我认为可能存在的各种误操作影响我本来的操作了。
不过目前我是实现不了,所以退而求其次,只要用户模式的各种UI不直接提供对卷,分区的操作即可。
fly4free 2010-08-19
  • 打赏
  • 举报
回复
PS:

实际上我主要是想对 磁盘设备进行读写操作,如 \\.\PhysicalDriveX 这样的设备,
而在其之上的是分区或者卷了吧?
我本来是想,使其只生成 磁盘设备 (貌似是USBSTOR驱动做的),在其之上的就不生成了,这样,就不会有我认为可能存在的各种误操作影响我本来的操作了。
不过目前我是实现不了,所以退而求其次,只要用户模式的各种UI不直接提供对卷,分区的操作即可。

2,640

社区成员

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

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