共用方式為


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
目前使用者沒有目前指派目標的寫入權限。 將不會建立檔版本的備份複本。 此值可以是 ORed 與 FH_STATE_RUNNING (0x100) ,表示目前使用者正在執行備份週期。
FH_STATE_TARGET_VOLUME_DIRTY
0x0F
目前指派的目標已標示為已變更。 執行 Chkdsk 公用程式之前,將不會建立檔版本的備份複本。 此值可以是 ORed 與 FH_STATE_RUNNING (0x100) ,表示目前使用者正在執行備份週期。
FH_STATE_TARGET_FULL_RETENTION_MAX
0x10
目前指派的目標沒有足夠的空間可從檔案歷程記錄保護範圍儲存檔案的備份複本,而且保留已設定為最積極的原則。 檔案歷程記錄會提供降級的保護層級。 此值可以是 ORed 與 FH_STATE_RUNNING (0x100) ,表示目前使用者正在執行備份週期。
FH_STATE_TARGET_FULL
0x11
目前指派的目標沒有足夠的空間可從檔案歷程記錄保護範圍儲存檔案的備份複本。 檔案歷程記錄會提供降級的保護層級。 此值可以是 ORed 與 FH_STATE_RUNNING (0x100) ,表示目前使用者正在執行備份週期。
FH_STATE_STAGING_FULL
0x12
其中一個本機磁片上的檔案歷程記錄快取沒有足夠的空間,無法暫時儲存檔案歷程記錄保護範圍的備份複本。 檔案歷程記錄會提供降級的保護層級。 此值可以是 ORed 與 FH_STATE_RUNNING (0x100) ,表示目前使用者正在執行備份週期。
FH_STATE_TARGET_LOW_SPACE_RETENTION_MAX
0x13
目前指派的目標在可用空間不足,且保留已設定為最積極的原則。 檔案歷程記錄保護層級可能很快就會降級。 此值可以是 ORed 與 FH_STATE_RUNNING (0x100) ,表示目前使用者正在執行備份週期。
FH_STATE_TARGET_LOW_SPACE
0x14
目前指派的目標在可用空間不足。 檔案歷程記錄保護層級可能很快就會降級。 此值可以是 ORed 與 FH_STATE_RUNNING (0x100) ,表示目前使用者正在執行備份週期。
FH_STATE_TARGET_ABSENT
0x15
目前指派的目標尚未可供備份使用一段時間,導致檔案歷程記錄層級的保護開始降級。 此值可以是 ORed 與 FH_STATE_RUNNING (0x100) ,表示目前使用者正在執行備份週期。
FH_STATE_TOO_MUCH_BEHIND
0x16
受保護的檔案或保護範圍中已進行太多變更。 除非使用者明確起始立即備份,而不是依賴背景中執行的一般備份週期,否則檔案歷程記錄保護層級可能會降低。 此值可以是 ORed 與 FH_STATE_RUNNING (0x100) ,表示目前使用者正在執行備份週期。
FH_STATE_NO_ERROR
0xFF
檔案歷程記錄備份會定期執行,不會偵測到任何錯誤狀況,會提供最佳的檔案歷程記錄保護層級。 此值可以是 ORed 與 FH_STATE_RUNNING (0x100) ,表示目前使用者正在執行備份週期。

[out] ProtectedUntilTime

接收以 SysAllocString 配置之字串的指標,其中包含檔案歷程記錄保護範圍內所有檔案受到保護的日期和時間。 日期和時間會根據系統地區設定來格式化。 如果日期和時間未知,則會傳回空字串。

如果下列其中一個條件成立,則會將檔案視為受保護,直到特定時間點為止:

  • 在該時間點或之後擷取該檔案的版本,且目前已完整複製到目前指派的備份目標。
  • 檔案是在該時間點或之後的檔案歷程記錄保護範圍中建立或包含的。

傳回值

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼,例如 FhErrors.h 標頭檔中定義的其中一個值。

備註

呼叫端負責釋放配置 給 ProtectedUntilTime 的記憶體,方法是呼叫 SysFreeString

保護狀態表示檔案歷程記錄作業狀態,以及保護範圍內所有檔案受到保護的日期和時間。

如果目標已滿或已中斷連線,檔案歷程記錄功能將會提供降級的保護層級,如下所示:

  • 檔案將會備份至其中一個本機磁片上的檔案歷程記錄快取。
  • 如果快取在這段時間內填滿,則會從快取中刪除較舊的複本,以備份較新的複本。
  • 如果目標在可用空間不足,當目標滿時,就會啟動降級的保護層級。

需求

   
最低支援的用戶端 Windows 8 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 [僅限傳統型應用程式]
目標平台 Windows
標頭 fhcfg.h

另請參閱

FhConfigMgr

IFhConfigMgr