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