共用方式為


IVssBackupComponents::GetWriterMetadata 方法 (vsbackup.h)

GetWriterMetadata 方法會傳回系統上執行之特定寫入器的元數據。

語法

HRESULT GetWriterMetadata(
  [in]  UINT                      iWriter,
  [out] VSS_ID                    *pidInstance,
  [out] IVssExamineWriterMetadata **ppMetadata
);

參數

[in] iWriter

要擷取其元數據的寫入器索引。 此參數的值是介於 0 到 n–1 的整數,其中 n 是目前系統上的寫入器總數。 N 的值是由 IVssBackupComponents::GetWriterMetadataCount 傳回。

[out] pidInstance

收集元數據之寫入器的實例標識碼指標。

[out] ppMetadata

包含傳回之元數據之 IVssExriterMetadata 對象的實例的雙間接指標。

傳回值

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

意義
S_OK
已成功傳回 IVssExriterMetadata 介面物件的指標。
E_INVALIDARG
其中一個參數值無效。
E_OUTOFMEMORY
呼叫端記憶體不足或其他系統資源。
VSS_E_BAD_STATE
備份元件物件未初始化、在還原作業期間呼叫此方法,或未在正確的順序內呼叫此方法。
VSS_E_INVALID_XML_DOCUMENT
XML 檔無效。 請檢查事件記錄檔以取得詳細數據。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理
VSS_E_OBJECT_NOT_FOUND
指定的陰影複製不存在。
VSS_E_UNEXPECTED
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理

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

備註

要求者必須呼叫異步操作 IVssBackupComponents::GatherWriterMetadata ,並在呼叫 GetWriterMetadata 之前等候它完成。

雖然必須在還原或備份作業之前呼叫 IVssBackupComponents::GatherWriterMetadata ,但通常不會針對還原呼叫 GetWriterMetadata

在備份作業期間擷取 (元件資訊,) 使用 IVssExriterMetadata::GetComponent 擷取,其中 GetWriterMetadata 已傳回 IVssExriterMetadata 介面,來自即時寫入器的寫入器元數據檔。

這與 GetWriterComponents (在還原作業期間所傳回的資訊) 相反,這是透過呼叫 AddComponent 儲存在備份元件檔中。

當這個方法的呼叫端完成元數據存取時,它必須呼叫 IUnknown::Release

規格需求

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

另請參閱

IVssBackupComponents

IVssBackupComponents::AddComponent

IVssBackupComponents::GatherWriterMetadata

IVssBackupComponents::GetWriterComponents

IVssBackupComponents::GetWriterMetadataCount

IVssEx surveyWriterMetadata