IVssDifferentialSoftwareSnapshotMgmt3::GetVolumeProtectLevel 方法 (vsmgmt.h)

获取指定卷的卷影复制保护级别和状态。

语法

HRESULT GetVolumeProtectLevel(
  [in]  VSS_PWSZ                   pwszVolumeName,
  [out] VSS_VOLUME_PROTECTION_INFO *protectionLevel
);

参数

[in] pwszVolumeName

卷的名称。 此参数是必需的,不能为 NULL

名称必须使用以下格式之一,并且必须包含尾随反斜杠 (\) :

  • 装载文件夹的路径,例如 Y:\MountX\
  • 驱动器号,例如 D:\
  • 格式为 \\?\Volume{GUID}\ (的卷 GUID 路径,GUID 在其中标识卷)

[out] protectionLevel

调用方分配的缓冲区的地址,该缓冲区接收包含卷的卷影复制保护级别相关信息 的VSS_VOLUME_PROTECTION_INFO 结构。

返回值

下面是此方法的有效返回代码。

含义
S_OK
已成功查询卷影复制保护级别。
E_ACCESSDENIED
0x80070005L
调用方不是管理员。
E_INVALIDARG
0x80070057L
其中一个参数值无效。
E_NOTIMPL
0x80000001L
卷的提供程序不支持卷影复制保护。
VSS_E_PROVIDER_VETO
0x80042306L
发生了预期的提供程序错误。 错误代码记录在事件日志中。 有关详细信息,请参阅 VSS 下的事件和错误处理
VSS_E_OBJECT_NOT_FOUND
0x80042308L
找不到指定的卷。

注解

GetVolumeProtectLevel 方法获取有关卷的当前保护级别的信息。 如果卷处于故障状态,VSS_VOLUME_PROTECTION_INFO结构的m_protectionFault成员包含当前保护故障,m_failureStatus成员包含卷处于故障状态的原因。 如果卷未处于故障状态, 则m_protectionFaultm_failureStatus 成员将为零。

如果 protectionLevel 参数的值为 VSS_PROTECTION_LEVEL_SNAPSHOT,则请求者必须使用 IVssDifferentialSoftwareSnapshotMgmt::AddDiffArea 方法设置卷影复制存储区域 (差异区域) 关联。

要求

要求
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 vsmgmt.h

另请参阅

IVssDifferentialSoftwareSnapshotMgmt3

IVssDifferentialSoftwareSnapshotMgmt3::SetVolumeProtectLevel