IVssBackupComponents::Query 方法 (vsbackup.h)
Query 方法會查詢系統上的提供者,以及/或位於目前內容之系統中已完成的陰影複製。 方法只能在備份作業期間呼叫。
語法
HRESULT Query(
[in] VSS_ID QueriedObjectId,
[in] VSS_OBJECT_TYPE eQueriedObjectType,
[in] VSS_OBJECT_TYPE eReturnedObjectsType,
[out] IVssEnumObject **ppEnum
);
參數
[in] QueriedObjectId
保留的。 此參數的值必須GUID_NULL。
[in] eQueriedObjectType
表示查詢對指定物件類型的限制。 VSS_OBJECT_NONE的值表示沒有限制,也就是說,將會查詢所有物件。
目前,此參數的值必須 VSS_OBJECT_NONE。
[in] eReturnedObjectsType
要傳回的物件類型。 此參數的值必須是 VSS_OBJECT_SNAPSHOT 或 VSS_OBJECT_PROVIDER。
[out] ppEnum
IVssEnumObject 列舉值物件的雙間接指標。
傳回值
以下是此方法的有效傳回碼。
值 | 意義 |
---|---|
|
已成功傳回 IVssEnumObject 介面實例的指標。 |
|
呼叫端不是系統管理員或備份操作員。 |
|
其中一個參數值無效。 |
|
記憶體不足或其他系統資源。 |
|
備份元件物件未初始化、此方法已在還原作業期間呼叫,或此方法未在正確的順序內呼叫。 |
|
找不到查詢的物件。 |
|
預期的提供者錯誤。 提供者在事件記錄檔中記錄錯誤。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。 |
|
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支援此值。 改用E_UNEXPECTED。 |
|
未預期的提供者錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。 |
備註
因為 Query 只會傳回已完成陰影複製的資訊,所以唯一可以揭露的陰影複製狀態是VSS_SS_COMPLETED。
方法只能在備份作業期間呼叫,而且之前必須呼叫 IVssBackupComponents::InitializeForBackup 和 IVssBackupComponents::SetContext。
雖然 Query 可以傳回系統上所有可用提供者的資訊,但只會傳回 IVssBackupComponents::SetContext) 所設定之目前 (內容之陰影複製的相關信息。 例如,如果 _VSS_SNAPSHOT_CONTEXT 內容設定為 VSS_CTX_BACKUP, 則查詢 將不會傳回以VSS_CTX_FILE_SHARE_BACKUP內容建立的陰影複製資訊。
雖然此方法目前會傳回所有可用提供者和/或所有已完成陰影複製的清單,但未來可能支援特殊查詢:例如,查詢與提供者相關聯的所有陰影複製。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | vsbackup.h (包括 VsBackup.h、Vss.h、VsWriter.h) |
程式庫 | VssApi.lib |
另請參閱
IVssBackupComponents::InitializeForBackup