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 |
---|---|
|
L'opération a réussi. |
|
L’une des valeurs de paramètre n’est pas valide. |
|
L’appelant n’a plus de mémoire ou d’autres ressources système. |
|
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. |
|
La méthode IVssCreateWriterMetadata ::SetRestoreMethod n’a pas été appelée avant l’appel de cette méthode. |
|
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.
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.
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 |