共用方式為


IVssBackupComponents::D eleteSnapshots 方法 (vsbackup.h)

DeleteSnapshots 方法會刪除一或多個陰影複製或陰影複製集。

語法

HRESULT DeleteSnapshots(
  [in]  VSS_ID          SourceObjectId,
  [in]  VSS_OBJECT_TYPE eSourceObjectType,
  [in]  BOOL            bForceDelete,
  [out] LONG            *plDeletedSnapshots,
  [out] VSS_ID          *pNondeletedSnapshotID
);

參數

[in] SourceObjectId

要刪除之陰影複製或陰影複製集的標識碼。

[in] eSourceObjectType

將刪除所有陰影複製的物件類型。 此參數的值 是VSS_OBJECT_SNAPSHOTVSS_OBJECT_SNAPSHOT_SET

[in] bForceDelete

如果此參數的值為 TRUE,提供者將會執行刪除陰影複製集內陰影複製或陰影複製的所有可能專案。 如果為 FALSE,將不會進行任何額外的工作。

[out] plDeletedSnapshots

已刪除的陰影複製數目。

[out] pNondeletedSnapshotID

如果發生錯誤,此參數的值就是無法刪除的第一個陰影複製標識碼。 否則,它會 GUID_NULL

傳回值

以下是這個方法的有效傳回碼。

意義
S_OK
已成功刪除陰影複製。
E_ACCESSDENIED
呼叫端沒有足夠的備份許可權,或不是系統管理員。
E_INVALIDARG
其中一個參數值無效。
E_OUTOFMEMORY
呼叫端記憶體不足或其他系統資源。
VSS_E_UNEXPECTED
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支援此值。 E_UNEXPECTED改用。

VSS_E_OBJECT_NOT_FOUND
指定的陰影複製不存在。
VSS_E_PROVIDER_VETO
預期的提供者錯誤。 提供者在事件記錄檔中記錄錯誤。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理
VSS_E_UNEXPECTED_PROVIDER_ERROR
未預期的提供者錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理

備註

陰影複製集中的多個陰影複製會循序刪除。 如果在其中一個個別刪除期間發生錯誤, DeleteSnapshots 會立即傳回;不會嘗試刪除任何剩餘的陰影複製。 未刪除陰影複製 的VSS_ID 會在 pNondeletedSnapshotID 中傳回。

要求者負責串行化刪除陰影複製作業。

在備份期間,一旦發行 IVssBackupComponents 實例,陰影複製就會自動釋放。 在此情況下,不需要明確刪除陰影複製。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 vsbackup.h (包括 VsBackup.h、Vss.h、VsWriter.h)
程式庫 VssApi.lib

另請參閱

IVssBackupComponents

IVssBackupComponents::StartSnapshotSet

VSS_ID