IVssCreateWriterMetadata::AddComponent 方法 (vswriter.h)

AddComponent 方法會將資料庫或檔案群組新增為要備份的元件。

語法

HRESULT AddComponent(
  [in] VSS_COMPONENT_TYPE ct,
  [in] LPCWSTR            wszLogicalPath,
  [in] LPCWSTR            wszComponentName,
  [in] LPCWSTR            wszCaption,
  [in] const BYTE         *pbIcon,
  [in] UINT               cbIcon,
  [in] bool               bRestoreMetadata,
  [in] bool               bNotifyOnBackupComplete,
  [in] bool               bSelectable,
  [in] bool               bSelectableForRestore,
  [in] DWORD              dwComponentFlags
);

參數

[in] ct

指定元件類型的 VSS_COMPONENT_TYPE 列舉值。

Windows Server 2003 和 Windows XP: 在 Windows Server 2003 與 SP1 之前,此參數會保留供系統使用,而且呼叫端不應覆寫預設值。

[in] wszLogicalPath

Null 終止寬字元字串的指標,其中包含資料庫或檔案群組的邏輯路徑。 如需詳細資訊,請參閱 元件的邏輯路徑

邏輯路徑是選擇性的,而且可以是 NULL

[in] wszComponentName

包含元件名稱之 Null 終止寬字元字串的指標。 此字串未當地語系化。

這個參數是必要的,而且不能是 NULL。 字串不能包含反斜杠。

[in] wszCaption

Null 終止寬字元字串的指標,其中包含描述 (也稱為元件「易記名稱」) 。 此字串可能已當地語系化,因此要求者必須假設其已當地語系化。

這個參數是選擇性的,而且可以是 NULL。 字串可以包含反斜杠。

[in] pbIcon

代表資料庫之圖示位圖的指標,要顯示在使用者介面中。 緩衝區的大小,以位元組為單位,是由 cbIcon 參數所指定。

如果寫入器不想要指定圖示, pbIcon 應該設定為 NULL

[in] cbIcon

緩衝區的大小 (以位元組為單位)。 如果 pbIcon 參數為 NULL,cbIcon 應為零。

[in] bRestoreMetadata

此參數保留供日後使用,且應一律設定為 false

[in] bNotifyOnBackupComplete

此參數保留供日後使用,且應一律設定為 false

[in] bSelectable

布爾值,指出元件是否可以選擇性地備份 (這表示它可以從備份) 排除,或在備份任何寫入器元件時一律備份。 如果元件可以選擇性地備份,則布爾值為 true ;如果備份任何元件時備份元件,則為 false

[in] bSelectableForRestore

布爾值,決定元件是否可在備份檔中 明確包含 元件時個別還原。 如果元件已明確新增至備份檔,則一律可以個別選取以進行還原;在此情況下,此旗標沒有任何意義。

為 true,則元件可以自行還原;若 為 false,則只有在正在還原整個元件集時,才能還原元件。 (如需) 詳細資訊 ,請參閱VSS_COMPONENTINFO 和使用 可選取性和邏輯路徑

此參數的預設值為 false

[in] dwComponentFlags

VSS_COMPONENT_FLAGS 列舉成員 的位掩碼 (或位 OR) ,指出這個元件支援的功能。

這個自變數的預設值為零。

傳回值

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

意義
S_OK
作業成功。
E_INVALIDARG
其中一個參數值無效。
E_OUTOFMEMORY
呼叫端記憶體不足或其他系統資源。
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改用。

備註

這個方法可以多次呼叫,將數個元件新增至寫入器的元數據。

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

AddComponent 可用來新增子元件—所有成員檔案都備份為群組的元件,但包含可個別還原的檔案。 如需詳細資訊,請參閱 使用還原和子元件的可選取性

規格需求

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

另請參閱

IVssCreateWriterMetadata