ClusterGetVolumeNameForVolumeMountPoint 関数 (resapi.h)
[ClusterGetVolumeNameForVolumeMountPoint は、[要件] セクションで指定されたオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 代わりに、 GetVolumeNameForVolumeMountPoint.] を使用します。
指定したクラスター共有ボリューム (CSV) マウント ポイント (ドライブ文字、ボリューム GUID パス、またはマウントされたフォルダー) に関連付けられているボリュームのクラスター ボリューム 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::AddToSnapshotSet および IVssBackupComponents::IsVolumeSupported に必要な形式です。
[in] cchBufferLength
WCHAR での出力バッファーの長さ。 バッファーが可能な最大のボリューム GUID パスに対応するための適切なサイズは 51 文字です。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、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) の最後のエラーを設定します。
メモ 入力に指定された CSV ボリュームは、直接 I/O 用にローカルにマウントされません。 -
入力: "\\?\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}"
#define UNICODE 1
#include <ResApi.h>
ClusterGetVolumeNameForVolumeMountPoint 関数は、クラスターのノードから呼び出す必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2008 R2 Enterprise、Windows Server 2008 R2 Datacenter |
対象プラットフォーム | Windows |
ヘッダー | resapi.h |
Library | ResUtils.Lib |
[DLL] | ResUtils.Dll |
こちらもご覧ください
VSS を使用したフェールオーバー クラスター構成のバックアップと復元
GetVolumeNameForVolumeMountPoint