Partager via


Méthode IVssCreateWriterMetadata ::AddAlternateLocationMapping (vswriter.h)

La méthode AddAlternateLocationMapping crée un autre mappage d’emplacement pour un jeu de fichiers.

Syntaxe

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

Paramètres

[in] wszSourcePath

Chaîne de caractères larges terminée par null contenant le nom du répertoire ou de la hiérarchie de répertoires contenant les fichiers à mapper.

Le répertoire peut être un répertoire local sur l’ordinateur VSS ou un répertoire de partage de fichiers sur un serveur de fichiers distant.

Le chemin d’accès peut contenir des variables d’environnement (par exemple, %SystemRoot%), mais ne peut pas contenir de caractères génériques.

Il n’est pas nécessaire que le chemin se termine par une barre oblique inverse («  »). Il appartient aux applications qui récupèrent ces informations de case activée.

[in] wszSourceFilespec

Chaîne de caractères larges terminée par null contenant la spécification de fichier des fichiers à mapper.

Une spécification de fichier ne peut pas contenir de spécifications de répertoire (par exemple, aucune barre oblique inverse), mais peut contenir le ? et * caractères génériques.

[in] bRecursive

Valeur booléenne spécifiant si le chemin spécifié par le paramètre wszPath n’identifie qu’un seul répertoire ou s’il indique une hiérarchie de répertoires à parcourir de manière récursive. Ce paramètre doit être défini sur true si le chemin est traité comme une hiérarchie de répertoires à parcourir de manière récursive, ou false si ce n’est pas le cas.

Pour plus d’informations sur la traversée des dossiers montés, consultez Utilisation des dossiers montés et points d’analyse.

[in] wszDestination

Chaîne de caractères larges terminée par null contenant le chemin d’accès complet au répertoire où les fichiers seront déplacés.

Le répertoire peut être un répertoire local sur l’ordinateur VSS ou un répertoire de partage de fichiers sur un serveur de fichiers distant.

Les chemins UNC sont pris en charge.

Valeur retournée

Voici les codes de retour valides pour cette méthode.

Valeur Signification
S_OK
0x00000000L
L'opération a réussi.
E_INVALIDARG
0x80070057L
L’une des valeurs de paramètre n’est pas valide.
E_OUTOFMEMORY
0x8007000EL
L’appelant n’a plus de mémoire ou d’autres ressources système.
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
Le document XML n’est pas valide. Pour plus d’informations, consultez le journal des événements. Pour plus d’informations, consultez Gestion des événements et des erreurs sous VSS.
VSS_E_OBJECT_NOT_FOUND
0x80042308L
La méthode IVssCreateWriterMetadata ::SetRestoreMethod n’a pas été appelée avant l’appel de cette méthode.
VSS_E_UNEXPECTED
Erreur inattendue. Le code d’erreur est enregistré dans le fichier journal des erreurs. Pour plus d’informations, consultez Gestion des événements et des erreurs sous VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge tant que Windows Server 2008 R2 et Windows 7. E_UNEXPECTED est utilisé à la place.

Remarques

Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP et Windows Server 2003 : Les partages de fichiers distants ne sont pas pris en charge tant qu’Windows 8 et Windows Server 2012. Les enregistreurs prennent uniquement en charge les ressources locales : ensembles de fichiers dont le chemin absolu commence par une spécification de volume local valide et ne peut pas être un lecteur réseau mappé. Par conséquent, les entrées de chemin d’accès (wszPath et wszDestination) à AddAlternateLocationMapping (après la résolution de toutes les variables d’environnement) doivent être dans ce format.

Cette méthode peut être appelée plusieurs fois pour ajouter un mappage pour plusieurs fichiers.

Combinaison de chemin d’accès, de spécification de fichier et d’indicateur de récursivité (wszPath, wszFileSpec et bRecursive, respectivement) fournis à AddAlternateLocationMapping à mapper doivent correspondre à l’un des jeux de fichiers ajoutés à l’un des composants du writer à l’aide de IVssCreateWriterMetadata ::AddFilesToFileGroup, IVssCreateWriterMetadata ::AddDatabaseFiles ou IVssCreateWriterMetadata ::AddDatabaseLogFiles.

La méthode AddAlternateLocationMapping doit être appelée uniquement après l’appel de IVssCreateWriterMetadata ::SetRestoreMethod .

Un fichier doit toujours être restauré dans son autre mappage d’emplacement si l’une des conditions suivantes est vraie :

  • La méthode de restauration (définie au moment de la sauvegarde) est VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
  • Sa cible de restauration a été définie (au moment de la restauration) sur VSS_RT_ALTERNATE.
Dans les deux cas, si aucun autre mappage d’emplacement valide n’est défini, cela constitue une erreur de writer.

Un fichier peut être restauré dans un autre mappage d’emplacement si l’une des conditions suivantes est remplie :

  • La méthode de restauration est VSS_RME_RESTORE_IF_NOT_THERE et une version du fichier est déjà présente sur le disque.
  • La méthode de restauration est VSS_RME_RESTORE_IF_CAN_REPLACE et une version du fichier est présente sur le disque et ne peut pas être remplacée.
Là encore, si aucun mappage d’emplacement alternatif valide n’est défini, cela constitue une erreur de writer.

Un autre mappage d’emplacement est utilisé uniquement pendant une opération de restauration et ne doit pas être confondu avec un autre chemin, qui est utilisé uniquement pendant une opération de sauvegarde.

Pour plus d’informations sur les emplacements des fichiers de sauvegarde et de restauration sous VSS, consultez Emplacements de sauvegarde et de restauration non par défaut.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête vswriter.h (inclure Vss.h, VsWriter.h)
Bibliothèque VssApi.lib

Voir aussi

IVssCreateWriterMetadata