Compartilhar via


Método IVssBackupComponents::GetWriterComponents (vsbackup.h)

O método GetWriterComponents é usado para retornar informações sobre os componentes de um determinado gravador que foram armazenados no Documento de Componentes de Backup de um solicitante.

Sintaxe

HRESULT GetWriterComponents(
  [in]  UINT                    iWriter,
  [out] IVssWriterComponentsExt **ppWriter
);

Parâmetros

[in] iWriter

O índice do gravador que está sendo consultado. É um número entre 0 e n-1, em que n é o valor retornado por IVssBackupComponents::GetWriterComponentsCount.

[out] ppWriter

Ponteiro indireto duplamente para um objeto de interface IVssWriterComponentsExt que receberá as informações de componente retornadas.

Retornar valor

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

Valor Significado
S_OK
Retornou com êxito um ponteiro para um objeto de interface IVssWriterComponentsExt .
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 objeto de componentes de backup não é inicializado, esse método foi chamado durante uma operação de restauração ou esse método não foi chamado dentro da sequência correta.
VSS_E_OBJECT_NOT_FOUND
A cópia de sombra especificada 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

O chamador desse método deve chamar IUnknown::Release quando terminar de acessar as informações do componente.

GetWriterComponents recupera informações de componente para um componente armazenado no Documento de Componentes de Backup por chamadas anteriores para IVssBackupComponents::AddComponent.

As informações nos componentes armazenados no Documento de Componentes de Backup não são estáticas. Se um gravador atualizar um componente durante uma restauração, essa alteração será refletida no componente recuperado por GetWriterComponents. Isso contrasta com as informações de componente encontradas no objeto IVssWMComponent retornado por IVssExamineWriterMetadata::GetComponent. Essas informações são somente leitura e vêm do Documento de Metadados do Gravador de um processo de gravador.

O ponteiro da interface IVssWriterComponentsExt retornado no parâmetro pWriterComponents não deve ser armazenado em cache, pois os seguintes métodos IVssBackupComponents fazem com que o ponteiro de interface retornado por GetWriterComponents não seja mais válido:

IVssBackupComponents::P repareForBackupIVssBackupComponents::D oSnapshotSetIVssBackupComponents::BackupCompleteIVssBackupComponents::P reRestoreIVssBackupComponents::P ostRestore Se você chamar um desses métodos depois de recuperar um ponteiro de interface IVssWriterComponentsExt chamando GetWriterComponents, não será possível reutilizar esse ponteiro, porque não é mais válido. Em vez disso, você deve chamar GetWriterComponents novamente para recuperar um novo ponteiro de interface IVssWriterComponentsExt .

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 vsbackup.h (inclua VsBackup.h, Vss.h, VsWriter.h)
Biblioteca VssApi.lib

Confira também

IVssBackupComponents

IVssBackupComponents::AddComponent

IVssBackupComponents::GatherWriterMetadata

IVssBackupComponents::GetWriterComponentsCount

IVssBackupComponents::GetWriterMetadata

IVssBackupComponents::P reRestore

IVssExamineWriterMetadata

IVssExamineWriterMetadata::GetComponent

IVssWriterComponents

IVssWriterComponentsExt