每个卷都有自己的卷标,但不同卷的卷标有可能是相同的,所以操作系统使用卷GUID路径来唯一标识一个卷

系统将驱动器的盘符和卷名保存在注册表"HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices"路径下,当操作系统启动后就会根据这些信息创建与设备相对应的符号链接

"\\?\Volume{GUID}"和"盘符(C、D、E等等):"其实都是符号链接,它们链接的设备都是"\Device\HarddiskVolumeX",X为数字,"\Device\HarddiskVolume1"为第一个逻辑驱动器、"\Device\HarddiskVolume2"为第2个逻辑驱动器以此类推。这些由系统创建的符号链接都在对象目录"\GLOBAL??"下

可以使用DefineDosDevice函数将dwFlags参数设置为DDD_REMOVE_DEFINITION来删除符号链接(驱动器盘符或者卷名),比如:

//以下代码移除符号链接"D:",移除符号链接后将不能通过该盘符来访问文件了
DefineDosDevice(DDD_REMOVE_DEFINITION, _T("D:"), NULL);

也可以使用DefineDosDevice函数将lpTargetPath参数设置为设备名来创建符号链接(驱动器盘符或者卷名),比如:

//以下代码创建符号链接"Z:",以后可以使用盘符"Z:"来访问第2个逻辑驱动器
DefineDosDevice(DDD_RAW_TARGET_PATH, _T("Z:"), _T("\\Device\\HarddiskVolume2"));

不过需要注意的是DefineDosDevice函数创建的盘符只是临时的,系统重新启动后就没有了。如果想要永久的更改驱动器盘符使用SetVolumeMountPoint函数,因为系统规定一个驱动器只能分配一个驱动器号,所以如果要更改盘符的驱动器已经分配了驱动器号,需要使用DeleteVolumeMountPoint先删除当前盘符再使用SetVolumeMountPoint设置新盘符。

对驱动器盘符和卷名的认识相关推荐

  1. c# 获取路径的盘符_c#获取驱动器盘符

    在编写某些Windows管理应用程序时,能够从自定义的驱动器选择列表框中进行选择无疑是非常专业的,使用Delphi或者C++的早期版本时我们都必须使用Win32所提供的许多关于获取磁盘信息的API函数 ...

  2. 安装使用完虚拟机UltraISO后,删除电脑中多出的“CD驱动器”盘符

    如何删除安装UltraISO后此电脑中多出的"CD驱动器"盘符? 在安装过UltraISO后,通常情况下,Windows 10中会多出一个或数个"CD驱动器"盘 ...

  3. 安装UltraISO后,删除 Win10 电脑中多出的“CD驱动器”盘符

    如何删除安装UltraISO后Win10"此电脑"中多出的"CD驱动器"盘符? 在安装过UltraISO后,通常情况下,Windows 10中会多出一个或数个& ...

  4. 安装matlab 2021 多出来一个 cd 驱动器盘符,删掉这个东西的办法

    问题背景 按照软件管家的教程安装了matlab 2021a 后,多出来一个CD驱动器盘符,想删掉. 解决办法 问题的产生是matlab 安装的时候运行了一个虚拟光驱的东西,你再运行一遍,卸载掉镜像就可 ...

  5. Win7系统删除网络驱动器盘符

    公司项目切换服务器,之前服务器共享的盘符没法继续使用了,于是想把网络驱动器盘符图标给删掉: 删除方法: 单击「开始」,然后单击"运行". 在"打开"框中,键入 ...

  6. 服务器的cd驱动器怎么修改盘符,windows 2016 修改驱动器盘符

    windows 2016 修改驱动器盘符 内容精选 换一换 本文以服务器的操作系统为"Windows Server 2016 Standard 64bit"为例,提供云硬盘的初始化 ...

  7. 服务器的cd驱动器怎么修改盘符,Windows10系统更改驱动器盘符的详细步骤

    安装win10系统的方式非常多,而使用U盘安装则是最受用户喜爱的一种.不过,近来有些用户用U盘安装好win10系统后,发现装系统的U盘变成了D盘,而且在安全拔出后,盘符还是无法变回原来的样子.那么,W ...

  8. 如何删除安装UltraISO后Win10“此电脑”中多出的“CD驱动器”盘符

    在安装过UltraISO后,通常情况下,Windows 10中会多出一个或数个"CD驱动器"盘符.对很多仅用UltraISO来把Windows镜像制作成Windows安装介质的同学 ...

  9. windows中的subst与虚拟驱动器(盘符)

    目录 subset 示例 subset 将路径与驱动器号关联.也就是把一个目录当作一个磁盘驱动器. 语法如下: SUBST [drive1: [drive2:]path] SUBST drive1: ...

最新文章

  1. 华为为什么能成全球第一?告诉你三个真相!
  2. mysql中间件研究(Atlas,cobar,TDDL)
  3. 如何修改 SAP Spartacus CMS API 默认的 endpoint
  4. 【bzoj2806】 Ctsc2012—Cheat
  5. Java中整型的缓存机制
  6. 脚本制作Minilinux
  7. linux双系统安装教程
  8. 【技术快报】9.26-10.2
  9. win7怎样更改桌面计算机图标,教您电脑如何更改桌面图标
  10. 2018年 五月笔记
  11. 圣诞要到了~教你用Python制作一个表白神器——照片墙,祝你成功
  12. PMSM FOC 滑膜观测器 SMO 算法
  13. 张宏江官宣:2021北京智源大会,定档6月1日!开放注册中
  14. Linux常见问题及解决方案
  15. 计量大学计算机学院,计算机科学与技术
  16. Nginx介绍和使用
  17. 【Paper Note】基于决策树算法的电信运营商客户流失预测
  18. 什么是网络免费2.0?
  19. MQ系列传感器电路图
  20. 360极速浏览器打开某些网站经常卡死假死问题的处理

热门文章

  1. BAT批量替换文件内容
  2. CAD梦想画图中的“绘图工具——点”
  3. python3 pdf 转 txt
  4. oracle安装遇到 [INS-20802] Oracle Net Configuration Assistant 失败。
  5. 第188天:extend拷贝创建对象的原理
  6. 计算机视觉、模式识别、图像处理领域的国际会议和会议排名
  7. 大数据告诉你:学历真的能改变命运
  8. NETCore项目报错 An error occurred while starting the application
  9. java打印api_java 调用打印机API无法打印的问题,请问找到解决方案了吗?
  10. el-upload上传组件 - 仅上传一个文件或图片,且隐藏掉选择文件框(或+号)