GetVolumeNameForVolumeMountPoint()是否返回卷的GUID?

时间:2010-04-26 10:03:02

标签: windows guid disk volume

GetVolumeNameForVolumeMountPoint()是否以c ++返回卷的GUID?

GetVolumeNameForVolumeMmountPoint()
{
LPCTSTR lpszvolumeMountPoint,
LPTSTR lpszVolumeName,
DWORDcchBufferLength,
}

我的意思是如果我使用的是可移动磁盘。 lpszVolumeName在同一台计算机上保持不变吗? 每当我将磁盘插入计算机的USB端口时,它是否为特定卷返回某个ID。 并确保不同磁盘的卷会得到不同的结果? 非常感谢!

2 个答案:

答案 0 :(得分:0)

我发现了一些关于安装管理器的documentation,它指出GUID与卷永久关联,并且它会在系统重新启动时保持不变。

答案 1 :(得分:0)

MSDN呼叫volumename作为GUID,但事实并非如此。 我按照以下步骤测试它:

  1. 使用ORICO USB HDD Dock将DiskA克隆到DiskB;
  2. 仅将DiskA连接到具有HDD Dock的PC,WinXP为其分配字母'G',GUID为{ea044c37-816f-11e3-bea8-005056c00008},如寄存器显示

    "\\DosDevices\\G:"=hex:a7,5e,f9,19,00,7e,00,00,00,00,00,00
    "\\??\\Volume{ea044c37-816f-11e3-bea8-005056c00008}"=hex:a7,5e,f9,19,00,7e,00,\
    
  3. 将DiskA替换为DiskB并将其连接到PC,驱动程序字母与“G”相同,GUID相同{ea044c37-816f-11e3-bea8-005056c00008};

  4. 将DiskA和DiskB与HDD Dock(2 Bays)连接,然后将DiskB的GUID更改为{ea044c39-816f-11e3-bea8-005056c00008}