Метод IVssDifferentialSoftwareSnapshotMgmt3::SetVolumeProtectLevel (vsmgmt.h)

Задает уровень защиты теневого копирования для исходного тома или тома теневой копии.

Синтаксис

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

Параметры

[in] pwszVolumeName

Имя тома. Этот параметр является обязательным и не может иметь значение NULL.

Имя должно иметь один из следующих форматов и включать обратную косую черту в конце (\):

  • Путь к подключенной папке, например Y:\MountX\
  • Буква диска, например D:\
  • Путь GUID тома в формате \\?\Volume{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 проверяет текущий уровень защиты от теневых копий тома. Если том находится в состоянии сбоя и VSS_PROTECTION_LEVEL_ORIGINAL_VOLUME указан для параметра protectionLevel , SetVolumeProtectLevel отключает том перед установкой уровня защиты.

Если текущий уровень защиты тома совпадает со значением параметра protectionLevel , SetVolumeProtectLevel ничего не делает.

Если значение параметра protectionLevel равно VSS_PROTECTION_LEVEL_SNAPSHOT, инициаторы запроса должны задать связи области хранения теневого копирования (diff области) с помощью метода IVssDifferentialSoftwareSnapshotMgmt::AddDiffArea.

Требования

Требование Значение
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header vsmgmt.h

См. также раздел

IVssDifferentialSoftwareSnapshotMgmt3

IVssDifferentialSoftwareSnapshotMgmt3::GetVolumeProtectLevel