次の方法で共有


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}"

Windows Server 2008 R2: ClusterGetVolumeNameForVolumeMountPoint 関数を含む ResApi.h の初期リリースでは、WCHAR ベースのデータ型ではなく TCHAR ベースのデータ型が使用されました。 ResApi.h を含める前に、UNICODE プリプロセッサ定義を設定する必要があります。
#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

IVssBackupComponents::AddToSnapshotSet

IVssBackupComponents::IsVolumeSupported