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

O método AddFilesToFileGroup adiciona um conjunto de arquivos (um arquivo ou arquivos especificado) a um componente de grupo de arquivos especificado.

Sintaxe

HRESULT AddFilesToFileGroup(
  [in] LPCWSTR wszLogicalPath,
  [in] LPCWSTR wszGroupName,
  [in] LPCWSTR wszPath,
  [in] LPCWSTR wszFilespec,
  [in] bool    bRecursive,
  [in] LPCWSTR wszAlternateLocation,
  [in] DWORD   dwBackupTypeMask
);

Parâmetros

[in] wszLogicalPath

Ponteiro para uma cadeia de caracteres largos terminada em nulo que contém o caminho lógico (que pode ser NULL) do componente ao qual adicionar os arquivos. Para obter mais informações, consulte Caminhos lógicos de componentes.

[in] wszGroupName

Ponteiro para uma cadeia de caracteres largos terminada em nulo que contém o nome do componente do grupo de arquivos. O tipo desse componente deve ser VSS_CT_FILEGROUP; caso contrário, o método retornará um erro.

[in] wszPath

Ponteiro para uma cadeia de caracteres largos terminada em nulo que contém o diretório raiz padrão dos arquivos a serem adicionados.

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.

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 a aplicativos que recuperam essas informações marcar.

[in] wszFilespec

Ponteiro para uma cadeia de caracteres largos terminada em nulo que contém a especificação de arquivo dos arquivos a serem incluídos.

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 recursados ou false caso contrário.

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

[in] wszAlternateLocation

Ponteiro para uma cadeia de caracteres largos terminada em nulo que contém o caminho alternativo, que na verdade contém os arquivos a serem copiados em backup com esse componente.

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.

Especificar um caminho alternativo é opcional; se nenhum caminho alternativo for necessário, wszAlternatePath deverá ser NULL.

Um caminho alternativo não deve ser confundido com um mapeamento de local alternativo.

[in] dwBackupTypeMask

Uma máscara de bits de VSS_FILE_SPEC_BACKUP_TYPE valores de enumeração para indicar se um gravador deve avaliar o arquivo para participação em um determinado tipo de operações de backup.

O valor padrão desse argumento é (VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FSBT_ALL_SNAPSHOT_REQUIRED).

Retornar valor

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

Valor Significado
S_OK
0x00000000L
A operação foi bem-sucedida.
E_INVALIDARG
0x80070057L
Um dos valores de parâmetro não é válido ou o chamador tentou adicionar arquivos de grupo de arquivos a um componente que não é de grupo de arquivos.
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 no VSS.
VSS_E_NOT_SUPPORTED
0x8004232FL
Para gravadores expressos, o valor de wszAlternatePath deve ser NULL e a máscara de bits dwBackupTypeMask não pode incluir VSS_FSBT_DIFFERENTIAL_BACKUP_REQUIRED, VSS_FSBT_INCREMENTAL_BACKUP_REQUIRED ou VSS_FSBT_LOG_BACKUP_REQUIRED.
VSS_E_OBJECT_NOT_FOUND
0x80042308L
O componente especificado não existe.
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 no 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 wszAlternatePath) para AddFilesToFileGroup (após a resolução de qualquer variável de ambiente) devem estar nesse formato.

Um gravador pode chamar esse método várias vezes para adicionar vários conjuntos de arquivos ao componente do grupo de arquivos. No entanto, você deve verificar se as especificações de arquivo não se sobrepõem, pois um arquivo específico pode ser especificado apenas uma vez.

Os locais dos quais os arquivos são copiados em backup e para os quais eles são restaurados dependem dos valores do diretório raiz definidos por wszPath e do caminho alternativo definido por wszAlternatePath.

Observe o seguinte ao usar informações de caminho fornecidas por AddFilesToFileGroup:

  • As operações de restauração devem (se possível) restaurar arquivos adicionados a um componente por AddFilesToFileGroup no diretório raiz padrão definido por wszPath.
  • Se um caminho alternativo não for especificado (se wszAlternatePath for NULL), os arquivos adicionados ao componente serão submetidos a backup do diretório raiz padrão e restaurados para o diretório raiz padrão indicado por wszPath.
  • Se um caminho alternativo for especificado (se wszAlternatePath não for NULL), os arquivos adicionados ao componente serão submetidos a backup do caminho alternativo especificado por wszAlternatePath. No entanto, os solicitantes ainda usarão wszPath como o local de restauração padrão.
  • Se o caminho alternativo for definido (wszAlternatePath não for NULL) e houver arquivos que correspondam à especificação do arquivo (wszFilespec) no caminho alternativo e no diretório raiz padrão (wszPath), uma operação de backup deverá fazer backup de arquivos localizados no caminho alternativo, não nos arquivos localizados no diretório raiz padrão.
  • Os arquivos devem ser restaurados para o diretório indicado por wszPath , a menos que um mapeamento de local alternativo tenha sido definido por IVssCreateWriterMetadata::AddAlternateLocationMapping e o método de restauração ou destino de restauração o exija.
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

IVssCreateWriterMetadata

IVssCreateWriterMetadata::AddAlternateLocationMapping