Compartilhar via


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

O método GetPartialFile retorna informações sobre um arquivo parcial associado a esse componente.

Sintaxe

HRESULT GetPartialFile(
  [in]  UINT iPartialFile,
  [out] BSTR *pbstrPath,
  [out] BSTR *pbstrFilename,
  [out] BSTR *pbstrRange,
  [out] BSTR *pbstrMetadata
);

Parâmetros

[in] iPartialFile

Número de índice do arquivo parcial. O valor desse parâmetro é um inteiro de 0 a n-1 inclusive, em que n é o número total de arquivos parciais associados a um determinado componente. O valor de n é retornado por IVssComponent::GetPartialFileCount.

[out] pbstrPath

Ponteiro para uma cadeia de caracteres que contém o caminho do arquivo parcial.

Os usuários desse método precisam marcar para determinar se esse caminho termina com uma barra invertida ("").

[out] pbstrFilename

Ponteiro para uma cadeia de caracteres que contém o nome do arquivo parcial.

[out] pbstrRange

Um ponteiro para uma cadeia de caracteres 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 que foram copiados em backup) ou o nome de um arquivo que contém essa lista.

[out] pbstrMetadata

Ponteiro para uma cadeia de caracteres que contém 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.

Metadados adicionais não são necessários, portanto pbstrMetadata também pode estar vazio (comprimento zero).

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_BAD_STATE
O chamador não está no estado correto (backup ou restauração) para a operação.
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 em VSS.
VSS_E_OBJECT_NOT_FOUND
O item especificado não foi encontrado.

Comentários

O chamador deve liberar a memória mantida pelos parâmetros pbstrPath, pbstrFilename, pbstrRange e pbstrMetadata chamando SysFreeString.

Um intervalo indica uma subseção de um determinado arquivo que deve ser copiado em backup, independentemente do restante do arquivo.

A sintaxe da listagem de intervalo (pbstrRanges) é 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 hexadecimal ou decimais.

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

Se wszRange se referir a um arquivo que contém todos os deslocamentos e comprimentos (um arquivo de intervalos), wszRange deverá conter 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 feito backup, em bytes, e o comprimento dos dados que começam desse deslocamento para serem copiados em backup.
Um arquivo de intervalos deveria ter sido feito backup junto com o arquivo parcial e normalmente é restaurado para o mesmo local do qual foi feito backup.

No entanto, o local para o qual um arquivo de intervalos é restaurado pode ser alterado pelo solicitante, que usa IVssBackupComponents::SetRangesFilePath para indicar isso e atualizar o Documento de Componentes de Backup para que pbstrRanges indique o arquivo de intervalos correto.

Um solicitante usaria as informações de intervalos retornadas por GetPartialFile para restaurar as seções de backup para o local apropriado dentro da cópia do arquivo no disco no momento da restauraçã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::SetRangesFilePath

IVssComponent

IVssComponent::AddPartialFile

IVssComponent::GetPartialFileCount