Compartilhar via


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

O GetAlternateLocationMapping é usado para retornar o local alternativo de um conjunto de arquivos para restauração de arquivo. Esse método pode ser chamado por um gravador ou um solicitante.

Sintaxe

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

Parâmetros

[in] iMapping

Índice de um mapeamento específico. O valor desse parâmetro é um inteiro de 0 a n–1 inclusive, em que n é o número total de mapeamentos de localização alternativos associados ao componente atual. O valor de n é retornado por IVssComponent::GetAlternateLocationMappingCount.

[out] ppFiledesc

Ponteiro indireto duplamente para um objeto IVssWMFiledesc que contém as informações de mapeamento.

Retornar valor

Veja a seguir os códigos de retorno válidos para esse método.

Valor Significado
S_OK
Retornou com êxito o valor do atributo.
E_INVALIDARG
Um dos valores de parâmetro não é válido.
E_OUTOFMEMORY
O chamador está sem memória ou outros recursos do sistema.
VSS_E_INVALID_XML_DOCUMENT
O documento XML não é válido. Verifique o log de eventos para obter detalhes. Para obter mais informações, consulte Tratamento de eventos e erros no VSS.
VSS_E_OBJECT_NOT_FOUND
O item especificado não foi encontrado.

Comentários

Mapeamentos de localização alternativos retornados por GetAlternateLocationMapping podem vir não apenas de arquivos no componente atual, mas também de arquivos em qualquer um de seus subcomponentes não selecionáveis.

O valor retornado por IVssComponent::GetAlternateLocationMapping também não deve ser confundido com o retornado por IVssExamineWriterMetadata::GetAlternateLocationMapping:

  • IVssExamineWriterMetadata::GetAlternateLocationMapping é o mapeamento de localização alternativo para o qual um arquivo pode ser restaurado, se necessário.
  • IVssComponent::GetAlternateLocationMapping é o local alternativo para o qual um arquivo foi de fato restaurado.
Um arquivo sempre deverá ser restaurado para seu mapeamento de localização alternativo se qualquer um dos seguintes itens for verdadeiro:
  • O método de restauração (definido no momento do backup) é VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
  • Seu destino de restauração foi definido (no momento da restauração) como VSS_RT_ALTERNATE.
Em ambos os casos, não ter nenhum mapeamento de local alternativo definido constitui um erro de gravador.

Um arquivo poderá ser restaurado para um mapeamento de local alternativo se qualquer um dos seguintes itens for verdadeiro:

  • O método de restauração é VSS_RME_RESTORE_IF_NOT_THERE e uma versão do arquivo já está presente no disco.
  • O método de restauração é VSS_RME_RESTORE_IF_CAN_REPLACE e uma versão do arquivo está presente no disco e não pode ser substituída.
Um mapeamento de local alternativo é usado somente durante uma operação de restauração e não deve ser confundido com um caminho alternativo, que é usado somente durante uma operação de backup.

O mapeamento retornado por GetAlternateLocationMapping refere-se aos mapeamentos de localização alternativos usados no curso da restauração de arquivos.

Mapeamentos de localização alternativos são adicionados a um objeto IVssComponent por IVssBackupComponents::AddAlternativeLocationMapping.

O chamador deve chamar IUnknown::Release para liberar os recursos do sistema mantidos pelo parâmetro ppMapping quando for feito com o objeto IVssWMFiledesc para o qual ele aponta.

Para obter mais informações sobre locais de backup e restauração de arquivos no VSS, consulte Locais de backup e restauração não padrão.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho vswriter.h (inclua Vss.h, VsWriter.h)
Biblioteca VssApi.lib

Confira também

IVssBackupComponents::AddAlternativeLocationMapping

IVssComponent

IVssExamineWriterMetadata::GetAlternateLocationMapping