IVssCreateExpressWriterMetadata::AddComponent 方法 (vswriter.h)

將檔案群組新增至要備份的快速寫入器元件集。

語法

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 列舉值。 此參數僅支援 VSS_CT_FILEGROUP

[in] wszLogicalPath

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

此參數是選擇性的,可以是 Null

[in] wszComponentName

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

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

[in] wszCaption

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

此參數是選擇性的,可以是 Null。 字串可以包含反斜線。

[in] pbIcon

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

此參數是選擇性的,可以是 Null

[in] cbIcon

緩衝區的大小 (以位元組為單位)。 如果 pbIcon 參數為 NullcbIcon 必須為零。

[in] bRestoreMetadata

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

[in] bNotifyOnBackupComplete

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

[in] bSelectable

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

[in] bSelectableForRestore

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

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

此參數的預設值為 false

[in] dwComponentFlags

VSS_COMPONENT_FLAGS列舉值的位元遮罩,指出此元件支援的功能。 這個位元遮罩不能包含 VSS_CF_APP_ROLLBACK_RECOVERYVSS_CF_BACKUP_RECOVERY

此參數的預設值為零。

傳回值

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

意義
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 可用來新增子元件,其中所有成員檔案都會備份為群組,但包含可個別還原的檔案。 如需詳細資訊,請參閱 使用 Restore 和 Subcomponents 的可選取性

規格需求

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

另請參閱

IVssCreateExpressWriterMetadata