Método IVssComponent::GetAlternateLocationMapping (vswriter.h)

GetAlternateLocationMapping se usa para devolver la ubicación alternativa de un conjunto de archivos para la restauración de archivos. Un escritor o un solicitante pueden llamar a este método.

Sintaxis

HRESULT GetAlternateLocationMapping(
  [in]  UINT           iMapping,
  [out] IVssWMFiledesc **ppFiledesc
);

Parámetros

[in] iMapping

Índice de una asignación determinada. El valor de este parámetro es un entero comprendido entre 0 y n-1, donde n es el número total de asignaciones de ubicación alternativas asociadas al componente actual. IVssComponent::GetAlternateLocationMappingCount devuelve el valor de n.

[out] ppFiledesc

Puntero indirecto doble a un objeto IVssWMFiledesc que contiene la información de asignación.

Valor devuelto

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

Valor Significado
S_OK
Se devolvió correctamente el valor del atributo.
E_INVALIDARG
Uno de los valores de parámetro no es válido.
E_OUTOFMEMORY
El autor de la llamada no tiene memoria u otros recursos del sistema.
VSS_E_INVALID_XML_DOCUMENT
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.
VSS_E_OBJECT_NOT_FOUND
No se encontró el elemento especificado.

Comentarios

Las asignaciones de ubicación alternativas devueltas por GetAlternateLocationMapping no solo pueden provenir de archivos del componente actual, sino también de archivos de cualquiera de sus subcomponentes no seleccionables.

El valor devuelto por IVssComponent::GetAlternateLocationMapping tampoco debe confundirse con el devuelto por IVssExamineWriterMetadata::GetAlternateLocationMapping:

  • IVssExamineWriterMetadata::GetAlternateLocationMapping es la asignación de ubicación alternativa a la que se puede restaurar un archivo si es necesario.
  • IVssComponent::GetAlternateLocationMapping es la ubicación alternativa a la que se restauró un archivo de hecho.
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) 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.
En cualquier caso, no tener ninguna asignación de ubicación alternativa definida constituye un error de escritura.

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.

La asignación devuelta por GetAlternateLocationMapping hace referencia a las asignaciones de ubicación alternativas que se usan en el transcurso de la restauración de archivos.

Las asignaciones de ubicación alternativas se agregan a un objeto IVssComponent por IVssBackupComponents::AddAlternativeLocationMapping.

El llamador debe llamar a IUnknown::Release para liberar los recursos del sistema mantenidos por el parámetro ppMapping cuando se realiza con el objeto IVssWMFiledesc al que apunta.

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

Consulte también

IVssBackupComponents::AddAlternativeLocationMapping

IVssComponent

IVssExamineWriterMetadata::GetAlternateLocationMapping