Condividi tramite


Metodo IVssBackupComponents::AddComponent (vsbackup.h)

Il metodo AddComponent viene usato per aggiungere in modo esplicito al set di backup nel documento Componenti di backup tutti i componenti necessari (non selezionabili per i componenti di backup senza un predecessore selezionabile per il backup) e tali componenti facoltativi (selezionabili per il backup) quando il richiedente considera necessario. I membri dei set di componenti (componenti con un predecessore selezionabile per il backup) sono inclusi in modo implicito nel set di backup, ma non vengono aggiunti in modo esplicito al documento Componenti di backup.

Sintassi

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

Parametri

[in] instanceId

Identifica un'istanza specifica di un writer.

[in] writerId

Identificatore della classe writer.

[in] ct

Identifica il tipo del componente. Vedere la documentazione per VSS_COMPONENT_TYPE per i valori di input consentiti.

[in] wszLogicalPath

Stringa di caratteri wide con terminazione null contenente il percorso logico del componente di backup selezionabile. Per altre informazioni, vedere Percorso logico dei componenti.

Non è necessario un percorso logico quando si aggiunge un componente. Pertanto, il valore di questo parametro può essere NULL.

Non esistono restrizioni sui caratteri che possono essere visualizzati in un percorso logico non NULL .

[in] wszComponentName

Stringa di caratteri wide con terminazione null contenente il nome del componente di backup selezionabile.

Il valore di questo parametro non può essere NULL.

Non esistono restrizioni sui caratteri che possono essere visualizzati in un percorso logico non NULL .

Valore restituito

Di seguito sono riportati i codici restituiti validi per questo metodo.

Valore Significato
S_OK
È stato aggiunto correttamente il componente.
E_INVALIDARG
Uno dei valori dei parametri non è valido.
E_OUTOFMEMORY
Il chiamante non è in memoria o altre risorse di sistema.
VSS_E_BAD_STATE
L'oggetto componenti di backup non viene inizializzato, questo metodo è stato chiamato durante un'operazione di ripristino o questo metodo non è stato chiamato all'interno della sequenza corretta.
VSS_E_INVALID_XML_DOCUMENT
Il documento XML non è valido. Controllare il registro eventi per informazioni dettagliate. Per altre informazioni, vedere Gestione degli eventi e degli errori in VSS.
VSS_E_OBJECT_ALREADY_EXISTS
L'oggetto è un duplicato. Esiste già un componente con lo stesso percorso logico e il nome del componente.
VSS_E_UNEXPECTED
Errore imprevisto. Il codice di errore viene registrato nel file di log degli errori. Per altre informazioni, vedere Gestione degli eventi e degli errori in VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato fino a Windows Server 2008 R2 e Windows 7. E_UNEXPECTED viene invece usato.

Commenti

Il metodo AddComponent ha significato solo se l'operazione di backup viene eseguita in modalità componente.

Solo questi tipi di componenti devono essere aggiunti al documento Componenti di backup usando AddComponent.

Non selezionabile per i componenti di backup che dispongono di un predecessore selezionabile per il backup nella gerarchia dei percorsi logici fanno parte di un set di componenti definito dall'elemento selezionabile per il predecessore del backup. Questi componenti vengono aggiunti implicitamente al documento Componenti di backup quando viene aggiunto il predecessore e non devono mai essere aggiunti in modo esplicito al documento Componenti di backup del richiedente usando AddComponent. Il risultato di questa operazione non è definito (vedere Uso di percorsi selezionabili e logici).

Selezionabile per i componenti di backup con selezionabile per i predecessori di backup sono anche sottocomponenti in un set di componenti. Possono essere selezionati in modo implicito se il loro predecessore è selezionato (nel qual caso non vengono aggiunti al documento Componenti di backup usando AddComponent) oppure possono essere selezionati in modo esplicito usando AddComponent.

La combinazione di percorso logico e nome per ogni componente di una determinata istanza di una determinata classe di writer deve essere univoca. Il tentativo di chiamare AddComponent due volte con gli stessi valori di wszLogicalPath e wszComponentName genera un errore di VSS_E_OBJECT_ALREADY_EXISTS.

La distinzione tra instanceId e writerID è necessaria perché è possibile eseguire più copie per lo stesso writer.

È possibile trovare l'identificatore e l'istanza di un writer chiamando IVssExamineWriterMetadata::GetIdentity.

Prima di chiamare AddComponent, un richiedente deve essere stato inizializzato per il backup chiamando IVssBackupComponents::InitializeForBackup e IVssBackupComponents::GatherWriterMetadata. Vedere Panoramica dell'inizializzazione del backup.

Il richiedente deve chiamare AddComponent per aggiungere i componenti necessari alla copia shadow prima di chiamare IVssBackupComponents::D oSnapshotSet per creare la copia shadow. Vedere Panoramica della fase di individuazione del backup e panoramica delle attività di pre-backup.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione vsbackup.h (include VsBackup.h, Vss.h, VsWriter.h)
Libreria VssApi.lib

Vedi anche

CVssWriter::Initialize

IVssBackupComponents

IVssBackupComponents::P repareForBackup

IVssExamineWriterMetadata::GetIdentity

VSS_COMPONENT_TYPE