PCLUSTER_GET_VOLUME_NAME_FOR_VOLUME_MOUNT_POINT
コールバックシグネチャ
BOOL PCLUSTER_GET_VOLUME_NAME_FOR_VOLUME_MOUNT_POINT(
LPWSTR lpszVolumeMountPoint,
LPWSTR lpszVolumeName,
DWORD cchBufferLength
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| lpszVolumeMountPoint | LPWSTR | マウントされたフォルダーのパス (例: "Y:\MountX") またはドライブ文字 (例: "X:\") を格納した文字列へのポインターです。この文字列は、末尾が円記号 () で終わっている必要があります。 |
| lpszVolumeName | LPWSTR | ボリューム GUID パスを受け取る文字列へのポインターです。このパスは "?\Volume{GUID}" という形式で、GUID はボリュームを識別する GUID です。そのボリュームに対してボリューム GUID パスが複数存在する場合は、マウントマネージャーのキャッシュ内にある最初のものだけが返されます。返される文字列は、IVssBackupComponents::AddToSnapshotSet および IVssBackupComponents::IsVolumeSupported で必要とされる形式です。 |
| cchBufferLength | DWORD | 出力バッファーの長さを WCHARs 単位で指定します。想定される最大のボリューム GUID パスを格納するためのバッファーサイズとしては、51 文字が妥当です。 |
公式ドキュメント
[ClusterGetVolumeNameForVolumeMountPoint は、「要件」セクションに示されているオペレーティングシステムで使用できます。以降のバージョンでは変更されるか、利用できなくなる可能性があります。代わりに GetVolumeNameForVolumeMountPoint を使用してください。]
指定されたクラスター共有ボリューム (CSV) のマウントポイント (ドライブ文字、ボリューム GUID パス、またはマウントされたフォルダー) に関連付けられているボリュームの、クラスターボリューム GUID パスを取得します。
戻り値
関数が成功した場合、戻り値は 0 以外の値です。
関数が失敗した場合、戻り値は 0 です。拡張エラー情報を取得するには、GetLastError を呼び出します。入力された CSV がローカルにマウントされていない場合、この呼び出しは ERROR_CSV_VOLUME_NOT_LOCAL (5951) エラーで失敗します。
解説(Remarks)
次の例が参考になります。これらの例では "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 関数は、クラスターのノードから呼び出す必要があります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)