共用方式為


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
其中一個參數值無效。
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 方法,將陰影複製儲存區域設定 (差異區域) 關聯。

規格需求

需求
最低支援的用戶端 都不支援
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 vsmgmt.h

另請參閱

IVssDifferentialSoftwareSnapshotMgmt3

IVssDifferentialSoftwareSnapshotMgmt3::GetVolumeProtectLevel