IPreviousVersionsInfo::AreSnapshotsAvailable 方法 (shobjidl.h)
查詢系統稍早記錄的 Windows Server 2003 磁片區映射可用性。
語法
HRESULT AreSnapshotsAvailable(
[in] LPCWSTR pszPath,
[in] BOOL fOkToBeSlow,
[out] BOOL *pfAvailable
);
參數
[in] pszPath
類型: LPCWSTR
Null 終止的 Unicode 字串,其中包含有問題的磁片區上檔案或資料夾的完整路徑。
[in] fOkToBeSlow
類型: BOOL
布林值,指定伺服器是否應該連絡以判斷預存磁片區映射的可用性。 如需詳細資訊,請參閱一節。
true
如果尚未快取結果,請連絡伺服器。
false
請勿連絡伺服器。 請改用快取的結果。
[out] pfAvailable
類型: BOOL*
包含結果之布林變數的指標。 只有在方法呼叫成功時,這個值才有效;否則,它未定義。
true
至少有一個儲存在 pszPath 中名為 之檔案或資料夾所在的磁片區影像可供使用。
false
不會儲存磁片區映射。
傳回值
類型: HRESULT
傳回標準錯誤值,包括但不限於下列各項:
傳回碼 | 描述 |
---|---|
|
成功。 |
|
fOkToBeSlow 為 FALSE ,而且目前尚未快取結果。 |
備註
如果在檔案或資料夾上呼叫 IPreviousVersionsInfo::AreSnapshotsAvailable ,結果不會指出該特定檔案或資料夾可以使用復原資訊,只是整個磁片區的快照集可用。 系統會快取此結果,後續呼叫會詢問儲存在該相同磁片區上的任何專案存取快取的結果,但效能額外負荷很小,而不是對伺服器進行協調。
在記憶體中快取伺服器回應之後,即使 fOkToBeSlow 為 TRUE,後續的呼叫也不會連絡伺服器。 如果 fOkToBeSlow 為 FALSE ,且伺服器回應尚未從先前呼叫快取,則方法會傳回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 版或更新版本) |