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 邏輯路徑中出現的字元沒有任何限制。
傳回值
以下是這個方法的有效傳回碼。
值 | 意義 |
---|---|
|
已成功新增元件。 |
|
其中一個參數值無效。 |
|
呼叫端記憶體不足或其他系統資源。 |
|
備份元件物件未初始化、在還原作業期間呼叫此方法,或未在正確的順序內呼叫此方法。 |
|
XML 檔無效。 請檢查事件記錄檔以取得詳細數據。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。 |
|
對像是重複的。 具有相同邏輯路徑和元件名稱的元件已經存在。 |
|
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支援此值。 E_UNEXPECTED改用。 |
備註
只有在備份作業是在元件模式中執行時, AddComponent 方法才有意義。
只有這類元件應該使用 AddComponent 新增至備份元件檔。
- 可針對備份選取的元件 (請參閱 備份) 的可選取性 。
- 不可選取的備份元件,沒有可選取的備份上階。
對於在邏輯路徑階層中具有可選取備份上階的備份元件而言,不可選取,是備份上階可選取的元件集的一部分。 新增上階時,這些元件會隱含地新增至備份元件檔,且不應該使用 AddComponent 明確新增至要求者的備份元件檔。這麼做的結果未定義 (請參閱 使用可選取性和邏輯路徑) 。
針對可針對備份上階選取的備份元件,也可以選取元件集中的子元件。 如果選取其上階,則可以隱含選取它們 (在此情況下,不會使用 AddComponent) 將其新增至備份元件檔,或者可以使用 AddComponent 明確選取它們。
指定之寫入器類別之每個元件的邏輯路徑和名稱組合必須是唯一的。 嘗試使用相同的 wszLogicalPath 和 wszComponentName 值呼叫 AddComponent 兩次會導致VSS_E_OBJECT_ALREADY_EXISTS錯誤。
需要 instanceId 和 writerID 之間的差異,因為可以針對相同的寫入器執行多個複本。
呼叫 IVssEx,WriterMetadata::GetIdentity 即可找到寫入器的類別標識碼和實例。
在呼叫 AddComponent 之前,必須先呼叫 IVssBackupComponents::InitializeForBackup 和 IVssBackupComponents::GatherWriterMetadata 來初始化要求者以進行備份。 請參閱 備份初始化概觀。
要求者必須先呼叫 AddComponent ,才能在呼叫 IVssBackupComponents::D oSnapshotSet 來建立陰影複製之前,先將必要的元件新增至陰影複製。 請參閱 備份探索階段 概觀和 備份前工作概觀。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | vsbackup.h (包括 VsBackup.h、Vss.h、VsWriter.h) |
程式庫 | VssApi.lib |
另請參閱
IVssBackupComponents::P repareForBackup