IVssBackupComponents::GetWriterStatus 方法 (vsbackup.h)
GetWriterStatus 方法會傳回指定寫入器的狀態。
語法
HRESULT GetWriterStatus(
[in] UINT iWriter,
[out] VSS_ID *pidInstance,
[out] VSS_ID *pidWriter,
[out] BSTR *pbstrWriter,
[out] VSS_WRITER_STATE *pnStatus,
[out] HRESULT *phResultFailure
);
參數
[in] iWriter
要擷取其元數據的寫入器索引。 此參數的值是介於 0 到 n–1 的整數,其中 n 是目前系統上的寫入器總數。 n 的值是由 IVssBackupComponents::GetWriterStatusCount 傳回。
[out] pidInstance
接收寫入器實例識別碼的呼叫端配置變數位址。
[out] pidWriter
呼叫端配置的變數位址,該變數會接收寫入器類別的標識碼。
[out] pbstrWriter
呼叫端配置的變數位址,接收包含指定寫入器名稱的字串。
[out] pnStatus
接收 VSS_WRITER_STATE 列舉值的呼叫端配置變數位址。
[out] phResultFailure
呼叫端配置的變數位址,接收寫入器傳回的 HRESULT 失敗碼。
以下是 pHrResultFailure 的支援值。
值 | 意義 |
---|---|
|
寫入器成功。 |
|
陰影複製只包含寫入器所需的磁碟區子集,以正確備份應用程式元件。 |
|
寫入器記憶體不足或其他系統資源。 處理此錯誤碼的建議方法是等候 10 分鐘,然後重複作業,最多三次。 |
|
寫入器作業失敗,因為凍結和解除凍結事件之間發生逾時。 處理此錯誤碼的建議方法是等候 10 分鐘,然後重複作業,最多三次。 |
|
寫入器因為重新啟動整個備份、還原或陰影複製建立程式時可能發生的錯誤而失敗。 處理此錯誤碼的建議方法是等候 10 分鐘,然後重複作業,最多三次。 |
|
寫入器作業失敗,因為建立另一個陰影複製時可能會遞歸的錯誤。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。 |
|
寫入器沒有回應。 |
|
寫入器狀態不適用於一或多個寫入器。 寫入器可能已達到可用備份和還原會話的數目上限。
Windows Vista、Windows Server 2003 和 Windows XP: 不支援這個值。 |
傳回值
以下是這個方法的有效傳回碼。
值 | 意義 |
---|---|
|
已成功傳回指定寫入器的狀態。 請注意,必須檢查 pHrWriterFailure 參數的值,以確認寫入器是否成功。 寫入器失敗碼可以是 VsWriter.h 和 寫入器錯誤和 Vetoes 中列出的錯誤。 |
|
其中一個參數值無效。 |
|
呼叫端記憶體不足或其他系統資源。 |
|
備份元件物件未初始化、在還原作業期間呼叫此方法,或未在正確的順序內呼叫此方法。 |
|
指定的寫入器不存在。 |
|
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支援此值。 E_UNEXPECTED改用。 |
備註
要求者必須呼叫異步操作 IVssBackupComponents::GatherWriterStatus ,並在呼叫 GetWriterStatus 之前等候它完成。
當呼叫端完成存取此方法傳回的狀態資訊時,它應該呼叫 SysFreeString 以釋放 pbstrWriter 參數所持有的記憶體。
pHrResultFailure 參數中傳回的VSS_E_WRITERERROR_XXX 值是由寫入器產生。 VSS 會產生VSS_E_WRITER_NOT_RESPONDING和VSS_E_WRITER_STATUS_NOT_AVAILABLE。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | vsbackup.h (包括 VsBackup.h、Vss.h、VsWriter.h) |
程式庫 | VssApi.lib |