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

O método AddPartialFile indica que apenas partes de um determinado arquivo devem ser copiadas em backup e quais partes são.

Somente um gravador pode chamar esse método e somente durante uma operação de backup.

Sintaxe

HRESULT AddPartialFile(
  [in] LPCWSTR wszPath,
  [in] LPCWSTR wszFilename,
  [in] LPCWSTR wszRanges,
  [in] LPCWSTR wszMetadata
);

Parâmetros

[in] wszPath

Cadeia de caracteres largos terminada em nulo que contém o caminho do arquivo envolvido em operações de arquivo parciais.

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.

Esse caminho deve corresponder ou estar abaixo do caminho de um conjunto de arquivos já no componente (ou um de seus subcomponentes se o componente definir um conjunto de componentes).

[in] wszFilename

Cadeia de caracteres largos terminada em nulo que contém o nome do arquivo envolvido em operações de arquivo parciais. O nome do arquivo (wszFilename) não pode conter caracteres curinga (* ou ?) e deve ser consistente com a especificação de arquivo de um conjunto de arquivos que contém o caminho de origem (wszPath).

[in] wszRanges

Cadeia de caracteres largos terminada em nulo que contém uma listagem de deslocamentos de arquivo e comprimentos que compõem o intervalo de suporte de arquivo parcial (as seções do arquivo a serem realmente copiadas em backup) ou o nome de um arquivo que contém essa lista.

Especificar o intervalo de suporte de arquivo parcial é necessário e esse valor não pode ser NULL.

[in] wszMetadata

Cadeia de caracteres largos terminada em nulo que contém os metadados adicionais exigidos por um gravador para validar uma operação parcial de restauração de arquivo. As informações nessa cadeia de caracteres de metadados serão opacas para os solicitantes.

Se metadados adicionais não forem necessários, esse valor poderá ser NULL.

Retornar valor

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

Valor Significado
S_OK
Defina o item com êxito.
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_BAD_STATE
O método não foi chamado por um gravador ou, se chamado por um gravador, não foi chamado durante uma operação de restauração.

Comentários

Somente um gravador pode chamar esse método e o gravador não pode chamar esse método durante uma operação de restauração.

A sintaxe da listagem de intervalo (wszRanges) é a de uma lista separada por vírgulas do formulário offset1:length1, offset2:length2, em que cada deslocamento e comprimento é um inteiro de 64 bits especificando um deslocamento de bytes e comprimento em bytes, respectivamente. O deslocamento e o comprimento podem ser expressos como valores hexadecimais ou decimais.

Se wszRange se referir a um arquivo que contém todos os deslocamentos e comprimentos (um arquivo de intervalos), wszRange conterá apenas o caminho completo para o arquivo.

Um arquivo de intervalos deve ser um arquivo binário com o seguinte formato:

  1. Um inteiro de 64 bits que indica o número de intervalos de arquivos distintos que precisam ser copiados em backup
  2. Cada intervalo expresso como um par de inteiros de 64 bits: o deslocamento para o arquivo que está sendo copiado em backup em bytes e o comprimento dos dados a partir desse deslocamento a serem copiados em backup
Em ambos os casos, um intervalo indica uma subseção de um determinado arquivo que deve ser copiado em backup, independentemente do restante do arquivo.

Os solicitantes podem recuperar as informações parciais do arquivo usando IVssComponent::GetPartialFile e usar as informações de deslocamento e comprimento retornadas por GetPartialFile para restaurar seções de backup para o local apropriado dentro da cópia do arquivo no disco no momento da restauração.

AddPartialFile pode ser aplicado a um arquivo já gerenciado pelo componente (ou um de seus subcomponentes se o componente definir um conjunto de componentes) ou pode adicionar um novo arquivo ao componente e indicar que ele participará de operações parciais de arquivo.

Ao indicar que o arquivo a participar é um novo arquivo, esse arquivo deve existir em um volume copiado por sombra e seu caminho (wszPath) deve corresponder ou estar abaixo de um caminho já no componente (ou um de seus subcomponentes se o componente definir um conjunto de componentes). No entanto, a especificação de arquivo do arquivo (wszFileSpec) não deve corresponder a uma nos componentes.

Os arquivos recém-adicionados não darão suporte a mapeamentos de localização alternativos.

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::SetRangesFilePath

IVssComponent

IVssComponent::GetPartialFile

IVssComponent::GetPartialFileCount