IPreviousVersionsInfo::AreSnapshotsAvailable 方法 (shobjidl.h)

查詢系統稍早記錄的 Windows Server 2003 磁片區映射可用性。

語法

HRESULT AreSnapshotsAvailable(
  [in]  LPCWSTR pszPath,
  [in]  BOOL    fOkToBeSlow,
  [out] BOOL    *pfAvailable
);

參數

[in] pszPath

類型: LPCWSTR

Null 終止的 Unicode 字串,其中包含有問題的磁片區上檔案或資料夾的完整路徑。

注意 目前僅支援儲存在 Windows Server 2003 磁片區上的檔案和資料夾路徑。
 

[in] fOkToBeSlow

類型: BOOL

布林值,指定伺服器是否應該連絡以判斷預存磁片區映射的可用性。 如需詳細資訊,請參閱一節。

true

如果尚未快取結果,請連絡伺服器。

false

請勿連絡伺服器。 請改用快取的結果。

[out] pfAvailable

類型: BOOL*

包含結果之布林變數的指標。 只有在方法呼叫成功時,這個值才有效;否則,它未定義。

true

至少有一個儲存在 pszPath 中名為 之檔案或資料夾所在的磁片區影像可供使用。

false

不會儲存磁片區映射。

傳回值

類型: HRESULT

傳回標準錯誤值,包括但不限於下列各項:

傳回碼 描述
S_OK
成功。
E_PENDING
fOkToBeSlowFALSE ,而且目前尚未快取結果。

備註

如果在檔案或資料夾上呼叫 IPreviousVersionsInfo::AreSnapshotsAvailable ,結果不會指出該特定檔案或資料夾可以使用復原資訊,只是整個磁片區的快照集可用。 系統會快取此結果,後續呼叫會詢問儲存在該相同磁片區上的任何專案存取快取的結果,但效能額外負荷很小,而不是對伺服器進行協調。

在記憶體中快取伺服器回應之後,即使 fOkToBeSlowTRUE,後續的呼叫也不會連絡伺服器。 如果 fOkToBeSlowFALSE ,且伺服器回應尚未從先前呼叫快取,則方法會傳回E_PENDING。 在此情況下,請將 fOkToBeSlow 設定為 TRUE ,然後再次呼叫 IPreviousVersionsInfo::AreSnapshotsAvailable 以連絡伺服器。

為了提升效能,呼叫此方法的 UI 執行緒應該一律將 fOkToBeSlow 設定為 FALSE。 如果方法傳回E_PENDING,請遵循下列步驟。

  • 在背景執行緒上建立另一個 IPreviousVersionsInfo 實例。
  • 呼叫 IPreviousVersionsInfo::AreSnapshotsAvailable 並將 fOkToBeSlow 設定為 TRUE
  • 向原始 UI 執行緒發出訊號,以再次呼叫 IPreviousVersionsInfo::AreSnapshotsAvailable 。 然後,會從快取提取結果。

需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 shobjidl.h
Dll Twext.dll (5.2 版或更新版本)