IsVolumeSnapshotted 関数 (vsbackup.h)

IsVolumeSnapshotted 関数は、指定されたボリュームにシャドウ コピーが存在するかどうかを決定します。

メモ この関数は IsVolumeSnapshottedInternal としてエクスポートされますが、 IsVolumeSnapshottedInternal ではなく IsVolumeSnapshotted を呼び出す必要があります。
 

構文

HRESULT IsVolumeSnapshotted(
  [in]  VSS_PWSZ pwszVolumeName,
  [out] BOOL     *pbSnapshotsPresent,
  [out] LONG     *plSnapshotCapability
);

パラメーター

[in] pwszVolumeName

ボリュームの名前。 チェックするボリュームの名前は、次のいずれかの形式である必要があり、末尾に円記号 (\) を含める必要があります。

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

[out] pbSnapshotsPresent

ボリュームにシャドウ コピーがある場合は、このパラメーターの値は TRUE 、ボリュームにシャドウ コピーがない場合は FALSE です。

[out] plSnapshotCapability

特定 のボリューム のシャドウ コピーが存在する場合に、特定のボリューム制御操作またはファイル I/O 操作が特定のボリュームに対して無効になっているかどうかを示す、VSS_SNAPSHOT_COMPATIBILITY値のビット マスク (またはビットごとの OR)。

戻り値

ここで示す戻り値は、関数からいつでも返される通常の COM HRESULTに加えてあります。

意味
S_OK
関数は正常に終了しました。
E_ACCESSDENIED
呼び出し元が十分なバックアップ特権を持っていないか、管理者ではありません。
E_INVALIDARG
パラメーターの 1 つが無効です。
E_OUTOFMEMORY
メモリ不足またはその他のシステム リソース。
VSS_E_PROVIDER_VETO
プロバイダー エラーが予想されます。 プロバイダーがイベント ログにエラーを記録しました。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。
VSS_E_OBJECT_NOT_FOUND
指定されたボリュームが見つかりませんでした。
VSS_E_UNEXPECTED
予期しないエラー。 エラー コードは、エラー ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は、Windows Server 2008 R2 と Windows 7 まではサポートされません。 代わりに、E_UNEXPECTED が使用されます。

VSS_E_UNEXPECTED_PROVIDER_ERROR
予期しないプロバイダー エラー。 エラー コードは、イベント ログ ファイルに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。

注釈

この関数を呼び出す前に、呼び出し元が CoInitialize 関数を呼び出して COM を初期化している必要があります。

選択したボリュームに対してボリューム制御操作またはファイル I/O 操作が無効にされていない場合、 plSnapshotCapability によって返される選択されたボリュームのシャドウ コピー機能は 0 になります。

要件

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

こちらもご覧ください

VSS_SNAPSHOT_COMPATIBILITY