Compartilhar via


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

O método AddAlternateLocationMapping cria um mapeamento de local alternativo para um conjunto de arquivos.

Sintaxe

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

Parâmetros

[in] wszSourcePath

Cadeia de caracteres largos terminada em nulo que contém o nome do diretório ou hierarquia de diretório que contém os arquivos a serem mapeados.

O diretório pode ser um diretório local no computador VSS ou pode ser um diretório de compartilhamento de arquivos em um servidor de arquivos remoto.

O caminho pode conter variáveis de ambiente (por exemplo, %SystemRoot%), mas não pode conter caracteres curinga.

Não há nenhum requisito de que o caminho termine com uma barra invertida (""). Cabe aos aplicativos que recuperam essas informações marcar.

[in] wszSourceFilespec

Cadeia de caracteres largos terminada em nulo que contém a especificação de arquivo dos arquivos a serem mapeados.

Uma especificação de arquivo não pode conter especificações de diretório (por exemplo, sem barras invertidas), mas pode conter o ? e * caracteres curinga.

[in] bRecursive

Um valor booliano que especifica se o caminho especificado pelo parâmetro wszPath identifica apenas um único diretório ou se indica uma hierarquia de diretórios a serem percorridos recursivamente. Esse parâmetro deverá ser definido como true se o caminho for tratado como uma hierarquia de diretórios a serem percorridos recursivamente ou false se não for.

Para obter informações sobre como percorrer pastas montadas, consulte Trabalhando com pastas montadas e pontos de nova análise.

[in] wszDestination

Cadeia de caracteres largos terminada em nulo que contém o caminho totalmente qualificado para o diretório em que os arquivos serão realocados.

O diretório pode ser um diretório local no computador VSS ou pode ser um diretório de compartilhamento de arquivos em um servidor de arquivos remoto.

Há suporte para caminhos UNC.

Retornar valor

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

Valor Significado
S_OK
0x000000000L
A operação foi bem-sucedida.
E_INVALIDARG
0x80070057L
Um dos valores de parâmetro não é válido.
E_OUTOFMEMORY
0x8007000EL
O chamador está sem memória ou outros recursos do sistema.
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
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 em VSS.
VSS_E_OBJECT_NOT_FOUND
0x80042308L
O método IVssCreateWriterMetadata::SetRestoreMethod não foi chamado antes de esse método ser chamado.
VSS_E_UNEXPECTED
Erro inesperado. O código de erro é registrado no arquivo de log de erros. Para obter mais informações, consulte Tratamento de eventos e erros em VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Esse valor não tem suporte até o Windows Server 2008 R2 e o Windows 7. E_UNEXPECTED é usado.

Comentários

Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP e Windows Server 2003: Não há suporte para compartilhamentos de arquivos remotos até Windows 8 e Windows Server 2012. Os gravadores dão suporte apenas a recursos locais — conjuntos de arquivos cujo caminho absoluto começa com uma especificação de volume local válida e não pode ser uma unidade de rede mapeada. Portanto, as entradas de caminho (wszPath e wszDestination) para AddAlternateLocationMapping (após a resolução de qualquer variável de ambiente) devem estar nesse formato.

Esse método pode ser chamado várias vezes para adicionar mapeamento para vários arquivos.

A combinação de caminho, especificação de arquivo e sinalizador de recursão (wszPath, wszFileSpec, e bRecursive, respectivamente) fornecidos a AddAlternateLocationMapping a serem mapeados devem corresponder ao de um dos conjuntos de arquivos adicionados a um dos componentes do gravador usando IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles ou IVssCreateWriterMetadata::AddDatabaseLogFiles.

O método AddAlternateLocationMapping só deve ser chamado depois que IVssCreateWriterMetadata::SetRestoreMethod for chamado.

Um arquivo sempre deverá ser restaurado para o mapeamento de localização alternativo se um dos seguintes procedimentos 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, se nenhum mapeamento de local alternativo válido for definido, isso constitui um erro de gravador.

Um arquivo poderá ser restaurado para um mapeamento de local alternativo se um dos seguintes procedimentos 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.
Novamente, se nenhum mapeamento de local alternativo válido for definido, isso constitui um erro de gravador.

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.

Para obter mais informações sobre locais de backup e restauração de arquivos em 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

IVssCreateWriterMetadata