共用方式為


ClusterGetVolumeNameForVolumeMountPoint 函式 (resapi.h)

[ClusterGetVolumeNameForVolumeMountPoint 可用於需求一節中指定的操作系統。 它在後續版本中可能會變更或無法使用。 請改用 GetVolumeNameForVolumeMountPoint。]

擷取與指定叢集共用磁碟區相關聯的叢集磁碟區 GUID 路徑, (CSV) 裝入點 (驅動器號、磁碟區 GUID 路徑或掛接資料夾) 。

語法

BOOL ClusterGetVolumeNameForVolumeMountPoint(
  [in]  LPCWSTR lpszVolumeMountPoint,
  [out] LPWSTR  lpszVolumeName,
  [in]  DWORD   cchBufferLength
);

參數

[in] lpszVolumeMountPoint

字串的指標,其中包含掛接資料夾的路徑 (,例如“Y:\MountX”) 或驅動器號 (例如 “X:\”) 。 字串結尾必須是尾端反斜杠 (\) 。

[out] lpszVolumeName

接收磁碟區 GUID 路徑之字串的指標。 此路徑的格式為 “\?\Volume{GUID}”,其中 GUID 是識別磁碟區的 GUID 。 如果磁碟區有多個磁碟區 GUID 路徑,則只會傳回掛接管理員快取中的第一個磁碟區 GUID 路徑。 傳回的字串格式為 IVssBackupComponents::AddToSnapshotSetIVssBackupComponents::IsVolumeSupported 所需的格式。

[in] cchBufferLength

WCHAR 中輸出緩衝區的長度。 緩衝區容納最大可能磁碟區 GUID 路徑的合理大小為 51 個字元。

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。 如果未在本機掛接輸入 CSV,呼叫將會失敗,並出現 ERROR_CSV_VOLUME_NOT_LOCAL (5951) 錯誤。

備註

下列範例可能有所説明。 在這些範例中,“Filename.Ext” 確實存在,但 “File\that\does\not\exist” 和 “Directory\that\does\not\exist” 不存在。

  • 輸入:「C:\ClusterStorage\Volume31\」

    輸出:“\?\Volume{deadbeef-895e-4a1d-9d64-9b82fa068d76}”

  • 輸入:「C:\ClusterStorage\Volume31\」

    輸出:函式失敗,並設定 ERROR_CSV_VOLUME_NOT_LOCAL (5951) 的最後一個錯誤。

    注意 針對直接 I/O,未在本機掛接針對輸入指定的 CSV 磁碟區。
     
  • 輸入:“\\?\C:\ClusterStorage\Volume31\Filename.Ext”

    輸出:函式失敗,並設定 ERROR_INVALID_PARAMETER (87) 的最後一個錯誤。

  • 輸入:「C:\ClusterStorage\Volume31\File\that\does\not\exist」

    輸出:函式失敗,並設定 ERROR_INVALID_NAME (123) 的最後一個錯誤。

  • 輸入:「C:\ClusterStorage\Volume31\Directory\that\does\not\exist\”

    輸出:函式失敗,並設定 ERROR_INVALID_NAME (123) 的最後一個錯誤。

  • 輸入:“\\?\Volume{deadbeef-895e-4a1d-9d64-9b82fa068d76}\”

    輸出:“\?\Volume{deadbeef-895e-4a1d-9d64-9b82fa068d76}”

  • 輸入:“\\?\Volume{de8b99bb-895e-4a1d-9d64-9b82fa068d76}\ClusterStorage\Volume31\”

    輸出:“\?\Volume{deadbeef-895e-4a1d-9d64-9b82fa068d76}”

    注意 輸出中的磁碟區是 CSV,與屬於輸入一部分的系統磁碟區不同。
     
  • 輸入:“\\?\GLOBALROOT\Device\Harddisk0\Partition1\ClusterStorage\Volume31\”

    輸出:“\?\Volume{deadbeef-895e-4a1d-9d64-9b82fa068d76}”

  • 輸入:“\\?\GLOBALROOT\Device\HarddiskVolume1\ClusterStorage\Volume31\”

    輸出:“\?\Volume{deadbeef-895e-4a1d-9d64-9b82fa068d76}”

Windows Server 2008 R2: 包含 ClusterGetVolumeNameForVolumeMountPoint 函式的初始 ResApi.h 版本使用 TCHAR 型數據類型,而不是 以 WCHAR 為基礎的數據類型。 必須先設定 UNICODE 預處理器定義,才能包含 ResApi.h。
#define UNICODE 1
#include <ResApi.h>

ClusterGetVolumeNameForVolumeMountPoint 函式必須從叢集的節點呼叫。

規格需求

需求
最低支援的用戶端 都不支援
最低支援的伺服器 Windows Server 2008 R2 Enterprise、Windows Server 2008 R2 Datacenter
目標平台 Windows
標頭 resapi.h
程式庫 ResUtils.Lib
Dll ResUtils.Dll

另請參閱

使用 VSS 備份和還原故障轉移叢集組態

備份與還原函式

GetVolumeNameForVolumeMountPoint

IVssBackupComponents::AddToSnapshotSet

IVssBackupComponents::IsVolumeSupported