次の方法で共有


CVssWriter::GetSnapshotDeviceName メソッド (vswriter.h)

GetSnapshotDeviceName メソッドは、指定したボリュームまたはファイル共有のシャドウ コピーをホストするデバイスの名前を返します。 このメソッドを使用すると、ライターはシャドウ コピー の自動回復 をサポートでき、 OnPostSnapshot メソッドの処理中にのみ呼び出すことができます。

構文

HRESULT GetSnapshotDeviceName(
  [in]  LPCWSTR wszOriginalVolume,
  [out] LPCWSTR *ppwszSnapshotDevice
);

パラメーター

[in] wszOriginalVolume

元のボリュームの名前、または現在のシャドウ コピー セットに使用されるデータを含む元のファイル共有の UNC パス。 ボリュームの名前は、次のいずれかの形式である必要があり、末尾に円記号 (\) を含める必要があります。

  • マウントされたフォルダーのパス (Y:\MountX\ など)
  • ドライブ文字 (D:\ など)
  • \\?\Volume{GUID}\ という形式のボリューム GUID パス ( GUID はボリュームを識別します)
  • リモート ファイル共有を指定する UNC パス (\\Clusterx\Share1\ など)

[out] ppwszSnapshotDevice

シャドウ コピーのデバイス名へのポインターを受け取る LPCWSTR のアドレス。

戻り値

このメソッドは、これらの値のいずれかを返すことができます。

意味
S_OK
シャドウ コピー ボリューム名が正常に返されました。
E_INVALIDARG
パラメーター値の 1 つが無効です。
VSS_E_BAD_STATE
PostSnapshot イベント中に呼び出しが行われませんでした。
VSS_E_OBJECT_NOT_FOUND
wszOriginalVolume パラメーターは、シャドウ コピー セット内のボリュームまたはファイル共有の 1 つではありません。

注釈

Windows 7、Windows Server 2008 R2、Windows Vista、Windows Server 2008、Windows XP、Windows Server 2003: リモート ファイル共有は、Windows 8してWindows Server 2012するまでサポートされません。

wszOriginalVolume パラメーターの元のボリュームの名前を取得するには、まず CVssWriter::GetCurrentVolumeCount メソッドを呼び出して、シャドウ コピー セット内のボリュームの数を照会します。 次に 、CVssWriter::GetCurrentVolumeArray メソッドを呼び出して、シャドウ コピー セット内のボリュームの元の名前を列挙します。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008、Windows Server 2003 SP1 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー vswriter.h (Vss.h、VsWriter.h を含む)
Library VssApi.lib