IVssBackupComponents::AddComponent 方法 (vsbackup.h)

AddComponent 方法可用來在備份元件文件中明確新增至備份集, (備份元件不可選取所有必要元件,而不需要選取備份上階) ,而且這類選擇性 (可選取備份) 元件,因為要求者認為必要。 元件集的成員 (具有可選取的備份上階) 元件會隱含包含在備份集中,但不會明確新增至備份元件檔。

語法

HRESULT AddComponent(
  [in] VSS_ID             instanceId,
  [in] VSS_ID             writerId,
  [in] VSS_COMPONENT_TYPE ct,
  [in] LPCWSTR            wszLogicalPath,
  [in] LPCWSTR            wszComponentName
);

參數

[in] instanceId

識別寫入器的特定實例。

[in] writerId

寫入器類別標識碼。

[in] ct

識別元件的型別。 如需允許的輸入值 ,請參閱VSS_COMPONENT_TYPE 檔。

[in] wszLogicalPath

以 Null 結尾的寬字元字串,其中包含可針對備份元件選取的邏輯路徑。 如需詳細資訊,請參閱 元件的邏輯路徑

新增元件時不需要邏輯路徑。 因此,此參數的值可以是 NULL

在非 NULL 邏輯路徑中出現的字元沒有任何限制。

[in] wszComponentName

以 Null 結尾的寬字元字串,其中包含可針對備份元件選取的名稱。

此參數的值不可以是 NULL

在非 NULL 邏輯路徑中出現的字元沒有任何限制。

傳回值

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

意義
S_OK
已成功新增元件。
E_INVALIDARG
其中一個參數值無效。
E_OUTOFMEMORY
呼叫端記憶體不足或其他系統資源。
VSS_E_BAD_STATE
備份元件物件未初始化、在還原作業期間呼叫此方法,或未在正確的順序內呼叫此方法。
VSS_E_INVALID_XML_DOCUMENT
XML 檔無效。 請檢查事件記錄檔以取得詳細數據。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理
VSS_E_OBJECT_ALREADY_EXISTS
對像是重複的。 具有相同邏輯路徑和元件名稱的元件已經存在。
VSS_E_UNEXPECTED
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理

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

備註

只有在備份作業是在元件模式中執行時, AddComponent 方法才有意義。

只有這類元件應該使用 AddComponent 新增至備份元件檔。

  • 可針對備份選取的元件 (請參閱 備份) 的可選取性
  • 不可選取的備份元件,沒有可選取的備份上階。

對於在邏輯路徑階層中具有可選取備份上階的備份元件而言,不可選取,是備份上階可選取的元件集的一部分。 新增上階時,這些元件會隱含地新增至備份元件檔,且不應該使用 AddComponent 明確新增至要求者的備份元件檔。這麼做的結果未定義 (請參閱 使用可選取性和邏輯路徑) 。

針對可針對備份上階選取的備份元件,也可以選取元件集中的子元件。 如果選取其上階,則可以隱含選取它們 (在此情況下,不會使用 AddComponent) 將其新增至備份元件檔,或者可以使用 AddComponent 明確選取它們。

指定之寫入器類別之每個元件的邏輯路徑和名稱組合必須是唯一的。 嘗試使用相同的 wszLogicalPathwszComponentName 值呼叫 AddComponent 兩次會導致VSS_E_OBJECT_ALREADY_EXISTS錯誤。

需要 instanceIdwriterID 之間的差異,因為可以針對相同的寫入器執行多個複本。

呼叫 IVssEx,WriterMetadata::GetIdentity 即可找到寫入器的類別標識碼和實例。

在呼叫 AddComponent 之前,必須先呼叫 IVssBackupComponents::InitializeForBackupIVssBackupComponents::GatherWriterMetadata 來初始化要求者以進行備份。 請參閱 備份初始化概觀

要求者必須先呼叫 AddComponent ,才能在呼叫 IVssBackupComponents::D oSnapshotSet 來建立陰影複製之前,先將必要的元件新增至陰影複製。 請參閱 備份探索階段 概觀和 備份前工作概觀

規格需求

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

另請參閱

CVssWriter::Initialize

IVssBackupComponents

IVssBackupComponents::P repareForBackup

IVssEx surveyWriterMetadata::GetIdentity

VSS_COMPONENT_TYPE