Metodo IVssCreateWriterMetadata::AddAlternateLocationMapping (vswriter.h)

Il metodo AddAlternateLocationMapping crea un mapping di percorso alternativo per un set di file.

Sintassi

HRESULT AddAlternateLocationMapping(
  [in] LPCWSTR wszSourcePath,
  [in] LPCWSTR wszSourceFilespec,
  [in] bool    bRecursive,
  [in] LPCWSTR wszDestination
);

Parametri

[in] wszSourcePath

Stringa di caratteri wide con terminazione Null contenente il nome della directory o della gerarchia di directory contenente i file di cui eseguire il mapping.

La directory può essere una directory locale nel 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.

Non è necessario che il percorso termina con una barra rovesciata (""). Spetta alle applicazioni che recuperano queste informazioni da controllare.

[in] wszSourceFilespec

Stringa di caratteri wide con terminazione Null contenente la specifica del file di cui eseguire il mapping.

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 specifica 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 percorso completo della directory in cui verranno rilocati i file.

La directory può essere una directory locale nel 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
S_OK
0x0000000L
L'operazione è stata completata.
E_INVALIDARG
0x80070057L
Uno dei valori dei parametri non è valido.
E_OUTOFMEMORY
0x8007000EL
Il chiamante non è in memoria o in altre risorse di sistema.
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
Documento XML non valido. Per informazioni dettagliate, vedere il registro eventi. Per altre informazioni, vedere Gestione degli eventi e degli errori in VSS.
VSS_E_OBJECT_NOT_FOUND
0x80042308L
Il metodo IVssCreateWriterMetadata::SetRestoreMethod non è stato chiamato prima della chiamata di questo metodo.
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

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 writer supportano solo le risorse locali: set di file il cui percorso assoluto inizia con una specifica del volume locale valida e non può essere un'unità di rete mappata. Pertanto, gli input di percorso (wszPath e wszDestination) a AddAlternateLocationMapping (dopo la risoluzione di qualsiasi variabile di ambiente) devono essere in questo formato.

Questo metodo può essere chiamato più volte per aggiungere il mapping per più file.

Combinazione di percorso, specifica del file e flag di ricorsione (wszPath, wszFileSpec e bRecursive forniti rispettivamente a AddAlternateLocationMapping da mappare devono corrispondere a uno dei set di file aggiunti a uno dei componenti del writer tramite IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles o IVssCreateWriterMetadata::AddDatabaseMetadata::AddDatabaseLogFiles.

Il metodo AddAlternateLocationMapping deve essere chiamato solo dopo la chiamata di IVssCreateWriterMetadata::SetRestoreMethod .

Un file deve essere sempre ripristinato nel relativo mapping di percorso alternativo se una delle condizioni seguenti è vera:

  • 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.
In entrambi i casi, se non viene definito alcun mapping di percorso alternativo valido, ciò costituisce un errore del writer.

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.
Anche in questo caso, se non viene definito alcun mapping di percorso alternativo valido, si tratta di un errore writer.

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.

Per altre informazioni sui percorsi dei file di backup e ripristino in VSS, vedere Percorsi di backup e ripristino non predefiniti.

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 vswriter.h (include Vss.h, VsWriter.h)
Libreria VssApi.lib

Vedi anche

IVssCreateWriterMetadata