次の方法で共有


IVssDifferentialSoftwareSnapshotMgmt3::SetVolumeProtectLevel メソッド (vsmgmt.h)

元のボリュームまたはシャドウ コピー記憶域ボリュームのシャドウ コピー保護レベルを設定します。

構文

HRESULT SetVolumeProtectLevel(
  [in] VSS_PWSZ             pwszVolumeName,
  [in] VSS_PROTECTION_LEVEL protectionLevel
);

パラメーター

[in] pwszVolumeName

ボリュームの名前。 このパラメーターは必須であり、 NULL にすることはできません。

名前は次のいずれかの形式で、末尾に円記号 (\) を含める必要があります。

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

[in] protectionLevel

シャドウ コピー保護レベルを指定する VSS_PROTECTION_LEVEL 列挙の値。

戻り値

このメソッドの有効なリターン コードを次に示します。

意味
S_OK
シャドウ コピー保護レベルが正常に設定されました。
E_ACCESSDENIED
0x80070005L
呼び出し元は管理者ではありません。
E_INVALIDARG
0x80070057L
パラメーター値の 1 つが無効です。
E_NOTIMPL
0x80000001L
ボリュームのプロバイダーは、シャドウ コピー保護をサポートしていません。
VSS_E_PROVIDER_VETO
0x80042306L
予想されるプロバイダー エラーが発生しました。 エラー コードはイベント ログに記録されます。 詳細については、「 VSS でのイベントとエラーの処理」を参照してください。
VSS_E_OBJECT_NOT_FOUND
0x80042308L
指定されたボリュームが見つかりませんでした。

注釈

SetVolumeProtectLevel メソッドは、ボリュームの現在のシャドウ コピー保護レベルを確認します。 ボリュームが障害状態で、 protectionLevel パラメーターにVSS_PROTECTION_LEVEL_ORIGINAL_VOLUMEが指定されている場合、 SetVolumeProtectLevel は保護レベルを設定する前にボリュームのマウントを解除します。

ボリュームの現在の保護レベルが protectionLevel パラメーターの値と同じ場合、 SetVolumeProtectLevel は何も行いません。

protectionLevel パラメーターの値がVSS_PROTECTION_LEVEL_SNAPSHOTの場合、要求者は IVssDifferentialSoftwareSnapshotMgmt::AddDiffArea メソッドを使用してシャドウ コピー記憶域 (diff領域) の関連付けを設定する必要があります。

要件

要件
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー vsmgmt.h

こちらもご覧ください

IVssDifferentialSoftwareSnapshotMgmt3

IVssDifferentialSoftwareSnapshotMgmt3::GetVolumeProtectLevel