Método IVssBackupComponents::AddAlternativeLocationMapping (vsbackup.h)
Un solicitante usa el método AddAlternativeLocationMapping para indicar que se usó una asignación de ubicación alternativa para restaurar todos los miembros de un conjunto de archivos en un componente determinado.
Sintaxis
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
);
Parámetros
[in] writerId
Identificador único global (GUID) de la clase de escritor que exportó el componente.
[in] componentType
Tipo del componente. Los valores posibles de este parámetro se definen mediante la enumeración VSS_COMPONENT_TYPE .
[in] wszLogicalPath
Cadena de caracteres anchos terminada en NULL que contiene la ruta de acceso lógica al componente.
Para obtener más información, vea Ruta de acceso lógica de componentes.
La ruta de acceso lógica puede ser NULL.
No hay restricciones en los caracteres que pueden aparecer en una ruta lógica que no sea NULL .
[in] wszComponentName
Cadena de caracteres anchos terminada en NULL que contiene el nombre del componente.
No hay restricciones en los caracteres que pueden aparecer en una ruta lógica que no sea NULL .
[in] wszPath
Cadena de caracteres anchos terminada en NULL que contiene la ruta de acceso al directorio que contenía originalmente el archivo que se va a reubicar. Esta ruta de acceso puede ser local en el equipo de VSS o puede ser un directorio de recursos compartidos de archivos en un servidor de archivos remoto.
La ruta de acceso puede contener variables de entorno (por ejemplo, %SystemRoot%) pero no puede contener caracteres comodín. Se admiten rutas unc.
No hay ningún requisito de que la ruta de acceso termine con una barra diagonal inversa (""). Es hasta las aplicaciones que recuperan esta información para comprobar.
[in] wszFilespec
Cadena de caracteres anchos terminada en NULL que contiene la especificación de archivo original.
Una especificación de archivo no puede contener especificaciones de directorio (por ejemplo, sin barras diagonales inversas), pero puede contener ? y * caracteres comodín.
[in] bRecursive
Valor booleano que indica si la ruta de acceso especificada por el parámetro wszPath identifica solo un directorio o si indica una jerarquía de directorios que se recorrerá de forma recursiva. Este parámetro debe establecerse en true si la ruta de acceso se trata como una jerarquía de directorios que se recorrerá de forma recursiva, o false si no es así .
Para obtener información sobre el recorrido de carpetas montadas, vea Trabajar con carpetas montadas y puntos de reanálisis.
[in] wszDestination
Cadena de caracteres anchos terminada en NULL que contiene el nombre del directorio donde se reubicará el archivo. Esta ruta de acceso puede ser local en el equipo de VSS o puede ser un directorio de recursos compartidos de archivos en un servidor de archivos remoto. Se admiten rutas unc.
Valor devuelto
A continuación se muestran los códigos de retorno válidos para este método.
Valor | Significado |
---|---|
|
Se agregó correctamente la asignación de ubicación alternativa. |
|
Uno de los valores de parámetro no es válido. |
|
El autor de la llamada no tiene memoria u otros recursos del sistema. |
|
El objeto de componentes de copia de seguridad no se inicializa, se ha llamado a este método durante una operación de restauración o no se ha llamado a este método dentro de la secuencia correcta. |
|
El documento XML no es válido. Compruebe el registro de eventos para obtener más información. Para obtener más información, vea Control de eventos y errores en VSS. |
|
El componente especificado no existe. |
|
error inesperado. El código de error se registra en el archivo de registro de errores. Para obtener más información, vea Control de eventos y errores en VSS.
Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite hasta Windows Server 2008 R2 y Windows 7. E_UNEXPECTED se usa en su lugar. |
Comentarios
Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP y Windows Server 2003: Los recursos compartidos de archivos remotos no se admiten hasta Windows 8 y Windows Server 2012.
Los parámetros writerId, componentType, wszLogicalPath y wszComponentName identifican un componente determinado y los parámetros wszPath, wszFilespec y bRecursive identifican el conjunto de archivos que pertenece a ese componente.
La combinación de ruta de acceso, especificación de archivo, y la marca de recursividad (wszPath, wszFilespec y bRecursive, respectivamente) proporcionadas a AddAlternativeLocationMapping para asignarse deben coincidir con la de uno de los conjuntos de archivos agregados a un componente mediante IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles o IVssCreateWriterMetadata::AddDatabaseFiles.
Dado que AddAlternativeLocationMapping se usa para notificar a un escritor que se usó una ubicación alternativa para restaurar todos los archivos de un componente, no se debe llamar a para ningún componente o archivo de un componente que no tenga especificada una asignación de ubicación alternativa.
El valor de wszPath se asignará a wszDestination al restaurar; sin embargo, los nombres de archivo y los subdirectorios en la ruta de acceso original conservan sus mismos nombres.
Un uso típico de AddAlternativeLocationMapping durante la restauración podría ser el siguiente:
- Recupere los documentos de metadatos de escritor almacenados del medio de copia de seguridad y cargue esa información con IVssExamineWriterMetadata::LoadFromXML.
- Llame a IVssExamineWriterMetadata::GetAlternateLocationMapping para obtener una interfaz IVssWMFiledesc con la información de asignación y use IVssWMFiledesc::GetAlternateLocation para obtener la ubicación alternativa.
- Examine la información archivada para determinar heurísticamente a qué componente se debe aplicar esta asignación de ubicación alternativa.
- Llame a IVssBackupComponents::AddAlternativeLocationMapping para comunicar dónde se restauraron los archivos.
- El método de restauración (establecido en el momento de la copia de seguridad) se VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
- Su destino de restauración se estableció (en el momento de la restauración) en VSS_RT_ALTERNATE.
Un archivo se puede restaurar en una asignación de ubicación alternativa si se cumple alguna de las siguientes condiciones:
- El método de restauración es VSS_RME_RESTORE_IF_NOT_THERE y una versión del archivo ya está presente en el disco.
- El método restore es VSS_RME_RESTORE_IF_CAN_REPLACE y una versión del archivo está presente en el disco y no se puede reemplazar.
Una asignación de ubicación alternativa solo se usa durante una operación de restauración y no debe confundirse con una ruta de acceso alternativa, que solo se usa durante una operación de copia de seguridad.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | vsbackup.h (incluya VsBackup.h, Vss.h, VsWriter.h) |
Library | VssApi.lib |