Metodo IVssCreateWriterMetadata::AddComponentDependency (vswriter.h)

Il metodo AddComponentDependency consente a un writer di indicare che un componente gestito ha una dipendenza esplicita del componente writer; ovvero, un altro componente in un altro writer deve essere sottoposto a backup e ripristinato con esso.

Sintassi

HRESULT AddComponentDependency(
  [in] LPCWSTR wszForLogicalPath,
  [in] LPCWSTR wszForComponentName,
  [in] VSS_ID  onWriterId,
  [in] LPCWSTR wszOnLogicalPath,
  [in] LPCWSTR wszOnComponentName
);

Parametri

[in] wszForLogicalPath

Stringa di caratteri wide con terminazione null contenente il percorso logico del componente (gestito dal writer corrente) che richiede una dipendenza.

[in] wszForComponentName

Stringa di caratteri wide con terminazione null contenente il componente (gestito dal writer corrente) che richiede una dipendenza.

[in] onWriterId

ID classe o VSS_ID (GUID) del writer che gestisce il componente in base al quale dipende il componente corrente.

[in] wszOnLogicalPath

Percorso logico del componente (gestito dal writer identificato da onWriterId) in cui dipende il componente corrente.

[in] wszOnComponentName

Nome del componente (gestito dal writer identificato da onWriterId) in cui dipende il componente corrente.

Valore restituito

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

Valore Significato
S_OK
L'operazione è stata completata.
E_INVALIDARG
Uno dei valori dei parametri non è valido.
E_OUTOFMEMORY
Il chiamante non è in memoria o altre risorse di sistema.
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_NOT_FOUND
Il componente specificato da wszForLogicalPath e wszForComponentName non esiste.
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

Le dipendenze sui componenti gestiti dal writer corrente non sono consentite.

Una dipendenza richiede che sia la destinazione della dipendenza che il componente che dipende dalla destinazione vengano ripristinati e sottoposti a backup insieme. Non indica una priorità tra i componenti, anche se un richiedente può scegliere di implementarlo.

Poiché la combinazione di nome logico e nome componente deve essere univoca in tutte le istanze di una classe writer, il fatto che diversi writer potrebbero avere lo stesso ID di classe non è un problema.

Questo metodo può essere usato per dichiarare dipendenze remote. Un writer può dichiarare una dipendenza remota pre-sospesa "\\RemoteComputerName", dove RemoteComputerName è il nome del computer in cui risiede il componente remoto, al percorso logico nel parametro wszOnLogicalPath. Il valore di RemoteComputerName può essere un indirizzo IP o un nome computer restituito dalla funzione GetComputerNameEx .

Se il componente remoto si trova in un cluster, il writer deve segnalare il nome virtuale per il cluster ed è responsabilità del richiedente eseguire il mapping del nome virtuale al nome fisico di un nodo del cluster prima che sia possibile creare una copia shadow del volume.

Per determinare se una dipendenza è locale o remota, il richiedente deve esaminare il nome del componente restituito nel parametro pbstrComponentName . Se il nome del componente inizia con "\", il richiedente deve presupporre che specifica una dipendenza remota e che il primo componente che segue "\" è RemoteComputerName specificato dal writer. Se il nome del componente non inizia con "\", il richiedente deve presupporre che specifica una dipendenza locale.

Windows Server 2003: Questo metodo non può essere usato per dichiarare dipendenze remote fino a Windows Server 2003 con Service Pack 1 (SP1).

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione vswriter.h (include Vss.h, VsWriter.h)
Libreria VssApi.lib