2010-04-26 85 views
0

GetVolumeNameForVolumeMountPoint()在C++中返回一個卷的GUID嗎?GetVolumeNameForVolumeMountPoint()是否返回一個卷的GUID?

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

我的意思是如果我使用可移動磁盤。 lpszVolumeName在同一臺計算機上保持不變? 每當我在計算機的USB端口上插入磁盤時,是否會返回某個卷的某個ID。 並確保不同的磁盤卷會得到不同的結果? 非常感謝!

回答

0

我發現有關掛載管理器的一些documentation表明GUID與卷永久關聯,並且在整個系統重新啓動時持續存在。

0

MSDN調用volumename作爲GUID,但事實並非如此。 我使用以下步驟對其進行測試:

  1. 克隆DiskA到DiskB與ORICO USB HDD基座;
  2. 僅連接到磁盤A與PC HDD基座,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. 替換磁盤A與DiskB並將其連接到PC,驅動程序字母是相同的'G',並且GUID是相同的{ea044c37-816f-11e3-bea8-005056c00008};

  4. 兩個磁盤A和磁盤B與HDD基座(2個托架)連接,然後磁盤B的GUID變更爲{ea044c39-816f-11e3-bea8-005056c00008}