命名磁片區

標籤是使用者易記的名稱,通常會由終端使用者指派給磁片區,以便更容易辨識。 磁片區可以有標籤、磁碟機號、兩者或兩者皆不可。 若要設定磁片區的標籤,請使用 SetVolumeLabel 函式。

有數個因素可能會讓您難以只使用磁碟機號和標籤來識別特定磁片區。 其中一個是磁片區不需要有磁碟機號或標籤。 另一個是兩個不同的磁片區可以有相同的標籤,這可讓它們不區分,但磁碟機號除外。 第三個因素是,磁碟機號指派可能會隨著磁片區新增至電腦並從中移除而變更。

若要解決此問題,作業系統會使用 磁片區 GUID 路徑 來識別磁片區。 這些是此格式的字串:

「\\?\Volume{GUID}\」

其中 GUID 是可識別磁片區的全域唯一識別碼 (GUID) 。

磁片區 GUID 路徑有時稱為唯一磁片 區名稱,因為磁片區 GUID 路徑只能參考一個磁片區。 不過,此字詞會造成誤導,因為磁片區可以有多個磁片區 GUID 路徑。

「\\?\」 前置詞會停用路徑剖析,而且不會被視為路徑的一部分。 如需 「\\?\」 前置詞的詳細資訊,請參閱 命名檔案或目錄

使用磁片區 GUID 路徑搭配 「\\?\」 前置詞時,您必須指定完整路徑。

掛接的資料夾是一個磁片區上的資料夾與另一個磁片區之間的關聯,因此可以使用資料夾路徑來存取磁片區。 例如,如果您使用 SetVolumeMountPoint 函式來建立與磁片區 「D:\」 產生關聯的掛接資料夾使用資料夾 「C:\MountD\」,您就可以使用路徑 (「D:\」或 「C:\MountD\」) 來存取磁片區 「D:\」。

磁片區掛接點是可用來存取磁片區的任何使用者模式路徑。 磁片區掛接點有三種類型:

  • 磁碟機號,例如 「C:\」。
  • 磁片區 GUID 路徑,例如 「\\?\Volume{26a21bda-a627-11d7-9931-806e6f6e6963}\」。
  • 掛接的資料夾,例如 「C:\MountD\」。

接受磁片區 GUID 路徑作為輸入參數的所有磁片區和掛接資料夾函式都需要尾端反斜線。 傳回磁片區 GUID 路徑的所有磁片區和掛接資料夾函式都會提供尾端反斜線,但這不是 CreateFile 函式的情況。 您可以呼叫 CreateFile 來開啟磁片區,並從您指定的磁片區名稱省略尾端反斜線。 CreateFile 會處理磁片區 GUID 路徑,並附加反斜線作為磁片區的根目錄。

當磁片區第一次安裝時,以及磁片區格式化時,作業系統會將磁片區 GUID 路徑指派給磁片區。 磁片區和掛接的資料夾函式會使用磁片區 GUID 路徑來存取磁片區。 若要取得磁片區的磁片區 GUID 路徑,請使用 GetVolumeNameForVolumeMountPoint 函式。

當已掛接的資料夾建立時,路徑長度可能會是一個考慮,該資料夾會將具有深層目錄樹狀目錄的磁片區與另一個磁片區上的目錄產生關聯。 這是因為磁片區的路徑會串連至目錄的路徑。 全域定義的常數 MAX_PATH 定義路徑可以擁有的最大字元數。 (如需 MAX_PATH的詳細資訊,請參閱 命名檔案或 Directory.) 您可以執行下列其中一項來避免此條件約束:

  • 依磁片區 GUID 路徑參考磁片區。
  • 使用支援 \\?\ 前置詞的 Unicode (W) 版本檔案函式。