对驱动器盘符和卷名的认识
每个卷都有自己的卷标,但不同卷的卷标有可能是相同的,所以操作系统使用卷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设置新盘符。
对驱动器盘符和卷名的认识相关推荐
- c# 获取路径的盘符_c#获取驱动器盘符
在编写某些Windows管理应用程序时,能够从自定义的驱动器选择列表框中进行选择无疑是非常专业的,使用Delphi或者C++的早期版本时我们都必须使用Win32所提供的许多关于获取磁盘信息的API函数 ...
- 安装使用完虚拟机UltraISO后,删除电脑中多出的“CD驱动器”盘符
如何删除安装UltraISO后此电脑中多出的"CD驱动器"盘符? 在安装过UltraISO后,通常情况下,Windows 10中会多出一个或数个"CD驱动器"盘 ...
- 安装UltraISO后,删除 Win10 电脑中多出的“CD驱动器”盘符
如何删除安装UltraISO后Win10"此电脑"中多出的"CD驱动器"盘符? 在安装过UltraISO后,通常情况下,Windows 10中会多出一个或数个& ...
- 安装matlab 2021 多出来一个 cd 驱动器盘符,删掉这个东西的办法
问题背景 按照软件管家的教程安装了matlab 2021a 后,多出来一个CD驱动器盘符,想删掉. 解决办法 问题的产生是matlab 安装的时候运行了一个虚拟光驱的东西,你再运行一遍,卸载掉镜像就可 ...
- Win7系统删除网络驱动器盘符
公司项目切换服务器,之前服务器共享的盘符没法继续使用了,于是想把网络驱动器盘符图标给删掉: 删除方法: 单击「开始」,然后单击"运行". 在"打开"框中,键入 ...
- 服务器的cd驱动器怎么修改盘符,windows 2016 修改驱动器盘符
windows 2016 修改驱动器盘符 内容精选 换一换 本文以服务器的操作系统为"Windows Server 2016 Standard 64bit"为例,提供云硬盘的初始化 ...
- 服务器的cd驱动器怎么修改盘符,Windows10系统更改驱动器盘符的详细步骤
安装win10系统的方式非常多,而使用U盘安装则是最受用户喜爱的一种.不过,近来有些用户用U盘安装好win10系统后,发现装系统的U盘变成了D盘,而且在安全拔出后,盘符还是无法变回原来的样子.那么,W ...
- 如何删除安装UltraISO后Win10“此电脑”中多出的“CD驱动器”盘符
在安装过UltraISO后,通常情况下,Windows 10中会多出一个或数个"CD驱动器"盘符.对很多仅用UltraISO来把Windows镜像制作成Windows安装介质的同学 ...
- windows中的subst与虚拟驱动器(盘符)
目录 subset 示例 subset 将路径与驱动器号关联.也就是把一个目录当作一个磁盘驱动器. 语法如下: SUBST [drive1: [drive2:]path] SUBST drive1: ...
最新文章
- 华为为什么能成全球第一?告诉你三个真相!
- mysql中间件研究(Atlas,cobar,TDDL)
- 如何修改 SAP Spartacus CMS API 默认的 endpoint
- 【bzoj2806】 Ctsc2012—Cheat
- Java中整型的缓存机制
- 脚本制作Minilinux
- linux双系统安装教程
- 【技术快报】9.26-10.2
- win7怎样更改桌面计算机图标,教您电脑如何更改桌面图标
- 2018年 五月笔记
- 圣诞要到了~教你用Python制作一个表白神器——照片墙,祝你成功
- PMSM FOC 滑膜观测器 SMO 算法
- 张宏江官宣:2021北京智源大会,定档6月1日!开放注册中
- Linux常见问题及解决方案
- 计量大学计算机学院,计算机科学与技术
- Nginx介绍和使用
- 【Paper Note】基于决策树算法的电信运营商客户流失预测
- 什么是网络免费2.0?
- MQ系列传感器电路图
- 360极速浏览器打开某些网站经常卡死假死问题的处理
热门文章
- BAT批量替换文件内容
- CAD梦想画图中的“绘图工具——点”
- python3 pdf 转 txt
- oracle安装遇到 [INS-20802] Oracle Net Configuration Assistant 失败。
- 第188天:extend拷贝创建对象的原理
- 计算机视觉、模式识别、图像处理领域的国际会议和会议排名
- 大数据告诉你:学历真的能改变命运
- NETCore项目报错 An error occurred while starting the application
- java打印api_java 调用打印机API无法打印的问题,请问找到解决方案了吗?
- el-upload上传组件 - 仅上传一个文件或图片,且隐藏掉选择文件框(或+号)