Compartilhar via


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

O método GetWriterStatus retorna o status do gravador especificado.

Sintaxe

HRESULT GetWriterStatus(
  [in]  UINT             iWriter,
  [out] VSS_ID           *pidInstance,
  [out] VSS_ID           *pidWriter,
  [out] BSTR             *pbstrWriter,
  [out] VSS_WRITER_STATE *pnStatus,
  [out] HRESULT          *phResultFailure
);

Parâmetros

[in] iWriter

Índice do gravador cujos metadados devem ser recuperados. O valor desse parâmetro é um inteiro de 0 a n-1 inclusive, em que n é o número total de gravadores no sistema atual. O valor de n é retornado por IVssBackupComponents::GetWriterStatusCount.

[out] pidInstance

O endereço de uma variável alocada pelo chamador que recebe o identificador de instância do gravador.

[out] pidWriter

O endereço de uma variável alocada pelo chamador que recebe o identificador da classe de gravador.

[out] pbstrWriter

O endereço de uma variável alocada pelo chamador que recebe uma cadeia de caracteres que contém o nome do gravador especificado.

[out] pnStatus

O endereço de uma variável alocada pelo chamador que recebe um valor de enumeração VSS_WRITER_STATE .

[out] phResultFailure

O endereço de uma variável alocada pelo chamador que recebe o código de falha HRESULT que foi retornado pelo gravador.

Veja a seguir os valores com suporte para pHrResultFailure.

Valor Significado
S_OK
O escritor foi bem sucedido.
VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT
A cópia de sombra contém apenas um subconjunto dos volumes necessários pelo gravador para fazer backup correto do componente do aplicativo.
VSS_E_WRITERERROR_OUTOFRESOURCES
O gravador ficou sem memória ou outros recursos do sistema. A maneira recomendada de lidar com esse código de erro é aguardar dez minutos e, em seguida, repetir a operação, até três vezes.
VSS_E_WRITERERROR_TIMEOUT
A operação de gravador falhou devido a um tempo limite entre os eventos Congelar e Descongelar. A maneira recomendada de lidar com esse código de erro é aguardar dez minutos e, em seguida, repetir a operação, até três vezes.
VSS_E_WRITERERROR_RETRYABLE
O gravador falhou devido a um erro que provavelmente não ocorreria se todo o processo de criação de cópia de backup, restauração ou sombra fosse reiniciado. A maneira recomendada de lidar com esse código de erro é aguardar dez minutos e, em seguida, repetir a operação, até três vezes.
VSS_E_WRITERERROR_NONRETRYABLE
A operação de gravador falhou devido a um erro que pode ocorrer novamente se outra cópia de sombra for criada. Para obter mais informações, consulte Tratamento de eventos e erros em VSS.
VSS_E_WRITER_NOT_RESPONDING
O gravador não está respondendo.
VSS_E_WRITER_STATUS_NOT_AVAILABLE
O gravador status não está disponível para um ou mais escritores. Um gravador pode ter atingido o número máximo de sessões de backup e restauração disponíveis.

Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse valor.

Retornar valor

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

Valor Significado
S_OK
Retornou com êxito o status do gravador especificado. Observe que o valor do parâmetro pHrWriterFailure deve ser verificado para verificar se o gravador foi bem-sucedido. Os códigos de falha do gravador podem estar entre os listados em VsWriter.h e em Erros e Vetos do Gravador.
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
O gravador 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 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

Um solicitante deve chamar a operação assíncrona IVssBackupComponents::GatherWriterStatus e aguardar sua conclusão antes de chamar GetWriterStatus.

Quando o chamador tiver terminado de acessar as informações de status retornadas por esse método, ele deverá chamar SysFreeString para liberar a memória mantida pelo parâmetro pbstrWriter.

Os valores VSS_E_WRITERERROR_XXX retornados no parâmetro pHrResultFailure são gerados por gravadores. VSS_E_WRITER_NOT_RESPONDING e VSS_E_WRITER_STATUS_NOT_AVAILABLE são gerados pelo VSS.

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

IVssBackupComponents::GetWriterStatusCount