Metodo IVssBackupComponents::AddAlternativeLocationMapping (vsbackup.h)
Il metodo AddAlternativeLocationMapping viene utilizzato da un richiedente per indicare che è stato utilizzato un mapping di percorso alternativo per ripristinare tutti i membri di un set di file in un determinato componente.
Sintassi
HRESULT AddAlternativeLocationMapping(
[in] VSS_ID writerId,
[in] VSS_COMPONENT_TYPE componentType,
[in] LPCWSTR wszLogicalPath,
[in] LPCWSTR wszComponentName,
[in] LPCWSTR wszPath,
[in] LPCWSTR wszFilespec,
[in] bool bRecursive,
[in] LPCWSTR wszDestination
);
Parametri
[in] writerId
Identificatore univoco globale (GUID) della classe writer che ha esportato il componente.
[in] componentType
Tipo del componente. I valori possibili di questo parametro sono definiti dall'enumerazione VSS_COMPONENT_TYPE .
[in] wszLogicalPath
Stringa di caratteri wide con terminazione Null contenente il percorso logico del componente.
Per altre informazioni, vedere Percorso logico dei componenti.
Il percorso logico 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.
Non esistono restrizioni sui caratteri che possono essere visualizzati in un percorso logico non NULL .
[in] wszPath
Stringa di caratteri wide con terminazione Null contenente il percorso della directory che conteneva originariamente il file da rilocare. Questo percorso può essere locale per il computer VSS oppure può essere una directory di condivisione file in un file server remoto.
Il percorso può contenere variabili di ambiente(ad esempio, %SystemRoot%) ma non può contenere caratteri jolly. Sono supportati i percorsi UNC.
Non è necessario che il percorso termina con una barra rovesciata (""). Spetta alle applicazioni che recuperano queste informazioni da controllare.
[in] wszFilespec
Stringa di caratteri wide con terminazione Null contenente la specifica del file originale.
Una specifica di file non può contenere specifiche di directory (ad esempio, nessuna barra rovesciata) ma può contenere ? e * caratteri jolly.
[in] bRecursive
Valore booleano che indica se il percorso specificato dal parametro wszPath identifica solo una singola directory o se indica una gerarchia di directory da attraversare in modo ricorsivo. Questo parametro deve essere impostato su true se il percorso viene considerato come una gerarchia di directory da attraversare in modo ricorsivo o false in caso contrario.
Per informazioni sull'attraversamento di cartelle montate, vedere Utilizzo di cartelle montate e Reparse Points.
[in] wszDestination
Stringa di caratteri wide con terminazione Null contenente il nome della directory in cui verrà spostato il file. Questo percorso può essere locale per il computer VSS oppure può essere una directory di condivisione file in un file server remoto. Sono supportati i percorsi UNC.
Valore restituito
Di seguito sono riportati i codici restituiti validi per questo metodo.
Valore | Significato |
---|---|
|
È stato aggiunto correttamente il mapping della posizione alternativa. |
|
Uno dei valori dei parametri non è valido. |
|
Il chiamante non è in memoria o in altre risorse di sistema. |
|
L'oggetto componenti di backup non viene inizializzato, questo metodo è stato chiamato durante un'operazione di ripristino oppure questo metodo non è stato chiamato all'interno della sequenza corretta. |
|
Documento XML non valido. Per informazioni dettagliate, vedere il registro eventi. Per altre informazioni, vedere Gestione degli eventi e degli errori in VSS. |
|
Il componente specificato non esiste. |
|
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
Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP e Windows Server 2003: Le condivisioni file remote non sono supportate fino a Windows 8 e Windows Server 2012.
I parametri writerId, componentType, wszLogicalPath e wszComponentName identificano un determinato componente e i parametri wszPath, wszFilespec e bRecursive identificano il set di file appartenente a tale componente.
Combinazione di percorso, specifica del file, e il flag di ricorsione (rispettivamente wszPath, wszFilespec e bRecursive) forniti a AddAlternativeLocationMapping devono corrispondere a quello di uno dei set di file aggiunti a un componente usando IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles o IVssCreateWriterMetadata::AddDatabaseLogFiles.
Poiché AddAlternativeLocationMapping viene usato per notificare a un writer che è stato usato un percorso alternativo per ripristinare tutti i file in un componente, non deve essere chiamato per alcun componente o file in un componente che non dispone di un mapping di percorso alternativo specificato.
Il valore di wszPath sarà stato mappato a wszDestination al ripristino; Tuttavia, i nomi di file e le sottodirectory nel percorso originale mantengono gli stessi nomi.
Un utilizzo tipico di AddAlternativeLocationMapping durante il ripristino potrebbe essere il seguente:
- Recuperare i documenti dei metadati del writer archiviati dal supporto di backup e caricare tali informazioni con IVssExamineWriterMetadata::LoadFromXML.
- Chiamare IVssExamineWriterMetadata::GetAlternateLocationMapping per ottenere un'interfaccia IVssWMFiledesc con le informazioni di mapping e usare IVssWMFiledesc::GetAlternateLocation per ottenere la posizione alternativa.
- Esaminare le informazioni filedesc per determinare in modo euristico il componente a cui applicare questo mapping di percorso alternativo.
- Chiamare IVssBackupComponents::AddAlternativeLocationMapping per comunicare dove sono stati ripristinati i file.
- Il metodo di ripristino (impostato in fase di backup) è VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
- La destinazione di ripristino è stata impostata (in fase di ripristino) su VSS_RT_ALTERNATE.
Un file può essere ripristinato in un mapping di percorso alternativo se si verifica una delle condizioni seguenti:
- Il metodo di ripristino è VSS_RME_RESTORE_IF_NOT_THERE e una versione del file è già presente sul disco.
- Il metodo di ripristino è VSS_RME_RESTORE_IF_CAN_REPLACE e una versione del file è presente su disco e non può essere sostituita.
Un mapping di percorso alternativo viene usato solo durante un'operazione di ripristino e non deve essere confuso con un percorso alternativo, che viene usato solo durante un'operazione di 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 |