IFhConfigMgr::QueryProtectionStatus 方法 (fhcfg.h)

检索当前文件历史记录保护状态。

注意

IFhConfigMgr 已弃用,将来的版本可能会更改或不可用。

语法

HRESULT QueryProtectionStatus(
  [out] DWORD *ProtectionState,
  [out] BSTR  *ProtectedUntilTime
);

参数

[out] ProtectionState

返回时,此参数接收当前文件历史记录保护状态。 FhStatus.h 头文件中定义了以下保护状态。

含义
FH_STATE_NOT_TRACKED
0x00
文件历史记录保护状态未知,因为文件历史记录服务未启动或未跟踪当前用户。 此值不能是具有 FH_STATE_RUNNING (0x100) 的 ORed。
FH_STATE_OFF
0x01
未为当前用户启用文件历史记录保护。 不会备份任何文件。 此值不能是具有 FH_STATE_RUNNING (0x100) 的 ORed。
FH_STATE_DISABLED_BY_GP
0x02
组策略禁用了文件历史记录保护。 不会备份任何文件。 此值不能是具有 FH_STATE_RUNNING (0x100) 的 ORed。
FH_STATE_FATAL_CONFIG_ERROR
0x03
其中一个文件存储当前用户的内部文件历史记录信息,存在致命错误。 不会备份任何文件。 此值不能是具有 FH_STATE_RUNNING (0x100) 的 ORed。
FH_STATE_TARGET_ACCESS_DENIED
0x0E
当前用户对当前分配的目标没有写入权限。 不会创建文件版本的备份副本。 此值可以是具有 FH_STATE_RUNNING (0x100) 的 ORed,表示当前正在为当前用户执行备份周期。
FH_STATE_TARGET_VOLUME_DIRTY
0x0F
当前分配的目标已标记为脏。 在 运行 Chkdsk 实用工具之前,不会创建文件版本的备份副本。 此值可以是具有 FH_STATE_RUNNING (0x100) 的 ORed,表示当前正在为当前用户执行备份周期。
FH_STATE_TARGET_FULL_RETENTION_MAX
0x10
当前分配的目标没有足够的空间来存储文件历史记录保护范围中的文件的备份副本,并且已将保留期设置为最积极的策略。 文件历史记录将提供降级的保护级别。 此值可以是具有 FH_STATE_RUNNING (0x100) 的 ORed,表示当前正在为当前用户执行备份周期。
FH_STATE_TARGET_FULL
0x11
当前分配的目标没有足够的空间来存储文件历史记录保护范围中的文件的备份副本。 文件历史记录将提供降级的保护级别。 此值可以是具有 FH_STATE_RUNNING (0x100) 的 ORed,表示当前正在为当前用户执行备份周期。
FH_STATE_STAGING_FULL
0x12
其中一个本地磁盘上的文件历史记录缓存没有足够的空间暂时存储文件历史记录保护范围中的文件备份副本。 文件历史记录将提供降级的保护级别。 此值可以是具有 FH_STATE_RUNNING (0x100) 的 ORed,表示当前正在为当前用户执行备份周期。
FH_STATE_TARGET_LOW_SPACE_RETENTION_MAX
0x13
当前分配的目标可用空间不足,并且已将保留期设置为最积极的策略。 文件历史记录保护级别可能会很快降级。 此值可以是具有 FH_STATE_RUNNING (0x100) 的 ORed,表示当前正在为当前用户执行备份周期。
FH_STATE_TARGET_LOW_SPACE
0x14
当前分配的目标的可用空间不足。 文件历史记录保护级别可能会很快降级。 此值可以是具有 FH_STATE_RUNNING (0x100) 的 ORed,表示当前正在为当前用户执行备份周期。
FH_STATE_TARGET_ABSENT
0x15
当前分配的目标在相当长一段时间内无法用于备份,导致文件历史记录保护级别开始降级。 此值可以是具有 FH_STATE_RUNNING (0x100) 的 ORed,表示当前正在为当前用户执行备份周期。
FH_STATE_TOO_MUCH_BEHIND
0x16
在受保护的文件或保护范围中进行了太多更改。 文件历史记录保护级别可能会降级,除非用户显式启动即时备份,而不是依赖于在后台执行的常规备份周期。 此值可以是具有 FH_STATE_RUNNING (0x100) 的 ORed,表示当前正在为当前用户执行备份周期。
FH_STATE_NO_ERROR
0xFF
定期执行文件历史记录备份,未检测到错误条件,提供文件历史记录保护的最佳级别。 此值可以是具有 FH_STATE_RUNNING (0x100) 的 ORed,表示当前正在为当前用户执行备份周期。

[out] ProtectedUntilTime

接收一个指针,指向使用 SysAllocString 分配的字符串的指针,该字符串包含保护文件历史记录保护范围中的所有文件的日期和时间。 日期和时间按系统区域设置设置格式。 如果日期和时间未知,则返回空字符串。

如果满足以下条件之一,则在某个时间点之前,文件被视为受保护文件:

  • 该文件的某个版本在该时间点或之后捕获,并且之前已完全复制到当前分配的备份目标。
  • 文件是在该时间点或之后创建或包含在文件历史记录保护范围中。

返回值

如果该方法成功,则返回 S_OK。 否则,它将返回 HRESULT 错误代码,例如 FhErrors.h 头文件中定义的值之一。

备注

调用方负责通过调用 SysFreeString 释放为 ProtectedUntilTime 分配的内存。

保护状态指示文件历史记录操作状态,以及保护范围内所有文件受保护之前的日期和时间。

如果目标已满或已断开连接,则文件历史记录功能将提供降级的保护级别,如下所示:

  • 文件将备份到其中一个本地磁盘上的文件历史记录缓存。
  • 如果缓存在此期间填满,则会从缓存中删除较旧的副本,以备份较新的副本。
  • 如果目标可用空间不足,则目标已满后,将启动降级的保护级别。

要求

   
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 fhcfg.h

请参阅

FhConfigMgr

IFhConfigMgr