IVssHardwareSnapshotProvider::OnLunEmpty 方法 (vsprov.h)

每當 VSS 判斷陰影複製 LUN 不包含任何有趣的數據時,就會呼叫 OnLunEmpty 方法。 所有陰影複製都已刪除 (,這也會造成 LUN 刪除。) 提供者可能會回收 LUN 資源,並針對其他用途重複使用。 VSS 會卸除任何受影響的磁碟區。 提供者不應該在 OnLunEmpty 期間發出重新掃描。 VSS 會處理此清除。

注意 只有 Windows Server 作業系統才支持硬體提供者。
 

語法

HRESULT OnLunEmpty(
  [in] VSS_PWSZ            wszDeviceName,
  [in] VDS_LUN_INFORMATION *pInformation
);

參數

[in] wszDeviceName

對應至 LUN 的裝置,其中包含要刪除的陰影複製。

[in] pInformation

包含要刪除之陰影複製之 LUN 相關信息 的VDS_LUN_INFORMATION 結構指標。

傳回值

這個方法可以傳回其中一個值。

傳回碼/值 Description
S_OK
0x00000000L
作業已順利完成。
E_OUTOFMEMORY
0x8007000EL
記憶體不足或其他系統資源。
E_INVALIDARG
0x80070057L
其中一個參數值無效。
VSS_E_PROVIDER_VETO
0x80042306L
發生非預期的提供者錯誤。 提供者必須在應用程式事件記錄檔中報告事件,為使用者提供如何解決問題的資訊。

備註

硬體提供者應該刪除陰影複製,並在只有當和時才回收 LUN
正在呼叫 OnLunEmpty 。 硬體陰影複製可以當做備份媒體本身使用,因此應該以相同的方式處理 LUN,儲存數位會處理用於一般磁碟的 LUN。 在 處理 OnLunEmpty 外部回收 LUN 應該僅限於緊急或系統管理員手動執行明確動作。

在持續性陰影複製的情況下,要求者會在不再需要陰影複製時刪除陰影複製。 在非持續性自動發行陰影複製的情況下,當要求者在 IVssBackupComponents 物件上呼叫 IUnknown::Release 時,VSS 服務會刪除陰影複製。 在非自動釋放陰影複製的情況下,VSS 服務會在重新啟動電腦時刪除陰影複製。 在所有情況下,VSS 服務會視需要針對每個陰影複製 LUN 呼叫提供者的 OnLunEmpty 方法。

請注意, OnLunEmpty 會以最佳方式呼叫。 VSS 只有在 LUN 保證為空時,才會叫用 方法。 在某些情況下,LUN 可能是空的,但 VSS 因為錯誤或外部情況而無法偵測到此情況。 在此情況下,用戶應該使用記憶體管理軟體來清除此狀態。

以下是一些範例:

  • 當陰影複製 LUN 移至不同的主機,但實際上不會透過 VSS 傳輸或匯入時,該 LUN 會顯示為任何其他 LUN,而且磁碟區可以直接刪除,而不需要任何 VSS 通知。
  • 在陰影複製建立期間發生當機或非預期的重新啟動。
  • 已取消的匯入。

規格需求

需求
最低支援的用戶端 都不支援
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 vsprov.h

另請參閱

IVssHardwareSnapshotProvider