Share via


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

El método AddAlternateLocationMapping crea una asignación de ubicación alternativa para un conjunto de archivos.

Sintaxis

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

Parámetros

[in] wszSourcePath

Cadena de caracteres anchos terminada en NULL que contiene el nombre del directorio o la jerarquía de directorios que contiene los archivos que se van a asignar.

El directorio puede ser un directorio local en la máquina 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.

No es necesario que la ruta de acceso termine con una barra diagonal inversa (""). Es necesario que las aplicaciones recuperen esta información para comprobarla.

[in] wszSourceFilespec

Cadena de caracteres anchos terminada en NULL que contiene la especificación de archivo de los archivos que se van a asignar.

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 especifica si la ruta de acceso especificada por el parámetro wszPath identifica solo un único directorio o si indica una jerarquía de directorios que se va a 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 cómo recorrer carpetas montadas, vea Trabajar con carpetas montadas y puntos de reanálisis.

[in] wszDestination

Cadena de caracteres anchos terminada en NULL que contiene la ruta de acceso completa al directorio donde se reubicarán los archivos.

El directorio puede ser un directorio local en la máquina VSS o puede ser un directorio de recursos compartidos de archivos en un servidor de archivos remoto.

Se admiten rutas de acceso UNC.

Valor devuelto

A continuación se muestran los códigos de retorno válidos para este método.

Valor Significado
S_OK
0x00000000L
La operación se realizó correctamente.
E_INVALIDARG
0x80070057L
Uno de los valores de parámetro no es válido.
E_OUTOFMEMORY
0x8007000EL
El autor de la llamada no tiene memoria u otros recursos del sistema.
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
El documento XML no es válido. Compruebe el registro de eventos para obtener más información. Para obtener más información, consulte Control de eventos y errores en VSS.
VSS_E_OBJECT_NOT_FOUND
0x80042308L
No se llamó al método IVssCreateWriterMetadata::SetRestoreMethod antes de llamar a este método.
VSS_E_UNEXPECTED
error inesperado. El código de error se registra en el archivo de registro de errores. Para obtener más información, consulte 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 escritores solo admiten recursos locales: conjuntos de archivos cuya ruta de acceso absoluta comienza con una especificación de volumen local válida y no pueden ser una unidad de red asignada. Por lo tanto, las entradas de ruta de acceso (wszPath y wszDestination) a AddAlternateLocationMapping (después de la resolución de cualquier variable de entorno) deben estar en este formato.

Se puede llamar a este método varias veces para agregar la asignación de varios archivos.

Combinación de ruta de acceso, especificación de archivo y marca de recursividad (wszPath, wszFileSpec y bRecursive, respectivamente) proporcionados a AddAlternateLocationMapping para asignarse deben coincidir con el de uno de los conjuntos de archivos agregados a uno de los componentes del escritor mediante IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles o IVssCreateWriterMetadata::AddDatabaseLogFiles.

Se debe llamar al método AddAlternateLocationMapping solo después de llamar a IVssCreateWriterMetadata::SetRestoreMethod .

Siempre se debe restaurar un archivo en su asignación de ubicación alternativa si se cumple alguna de las siguientes condiciones:

  • El método de restauración (establecido en el momento de la copia de seguridad) es VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
  • Su destino de restauración se estableció (en el momento de la restauración) en VSS_RT_ALTERNATE.
En cualquier caso, si no se define ninguna asignación de ubicación alternativa válida, esto constituye un error de escritor.

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 se 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.
De nuevo, si no se define ninguna asignación de ubicación alternativa válida, esto constituye un error de escritor.

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.

Para obtener más información sobre las ubicaciones de archivos de copia de seguridad y restauración en VSS, consulte Ubicaciones de copia de seguridad y restauración no predeterminadas.

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

Consulte también

IVssCreateWriterMetadata