Compartilhar via


Método IVssBackupComponentsEx3::GetWriterStatusEx (vsbackup.h)

Retorna informações de status estendidas para o gravador especificado.

Sintaxe

HRESULT GetWriterStatusEx(
  [in]            UINT             iWriter,
  [out]           VSS_ID           *pidInstance,
  [out]           VSS_ID           *pidWriter,
  [out]           BSTR             *pbstrWriter,
  [out]           VSS_WRITER_STATE *pnStatus,
  [out]           HRESULT          *phrFailureWriter,
  [out, optional] HRESULT          *phrApplication,
  [out, optional] BSTR             *pbstrApplicationMessage
);

Parâmetros

[in] iWriter

O í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 pelo método IVssBackupComponents::GetWriterStatusCount .

[out] pidInstance

O endereço de uma variável alocada pelo chamador que recebe o identificador de instância do gravador. Esse parâmetro é necessário e não pode ser NULL.

[out] pidWriter

O endereço de uma variável alocada pelo chamador que recebe o identificador para a classe de gravador. Esse parâmetro é necessário e não pode ser NULL.

[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. Esse parâmetro é necessário e não pode ser NULL.

[out] pnStatus

O endereço de uma variável alocada pelo chamador que recebe um valor de enumeração VSS_WRITER_STATE . Esse parâmetro é necessário e não pode ser NULL.

[out] phrFailureWriter

O endereço de uma variável alocada pelo chamador que recebe o código de falha HRESULT que o gravador retornou para o parâmetro hrWriter do método CVssWriterEx2::SetWriterFailureEx .

Veja a seguir os valores com suporte.

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 para o gravador 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 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 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 backup, restauração ou cópia de sombra fosse reiniciado. A maneira recomendada de lidar com esse código de erro é aguardar dez minutos e 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 no VSS.
VSS_E_WRITER_NOT_RESPONDING
O escritor 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.
VSS_E_WRITERERROR_PARTIAL_FAILURE
O gravador está relatando um ou mais erros no nível do componente. Para recuperar os erros, o solicitante deve usar o método IVssComponentEx2::GetFailure .

[out, optional] phrApplication

O endereço de uma variável alocada pelo chamador que recebe o código de retorno que o gravador passou para o parâmetro hrApplication do método CVssWriterEx2::SetWriterFailureEx . Esse parâmetro é opcional e pode ser NULL.

[out, optional] pbstrApplicationMessage

O endereço de uma variável que recebe a mensagem de falha do aplicativo que o gravador passou para o parâmetro wszApplicationMessage do método SetWriterFailureEx . Esse parâmetro é opcional e pode ser NULL.

Retornar valor

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

Valor Significado
S_OK
0x00000000L
Retornou com êxito o status do gravador especificado. Observe que o valor do parâmetro phrFailureWriter 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
0x80070057L
O parâmetro pnStatus, pidWriter, pbstrWriter ou pidInstance é NULL.
E_OUTOFMEMORY
0x8007000EL
O chamador está sem memória ou outros recursos do sistema.
VSS_E_BAD_STATE
0x80042301L
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
0x80042308L
O parâmetro iWriter especifica um gravador que não existe.

Comentários

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

Se esse método retornar VSS_E_WRITERERROR_PARTIAL_FAILURE, o solicitante deverá usar o método IVssComponentEx2::GetFailure para recuperar os erros no nível do componente.

Quando o chamador terminar de acessar as informações de status retornadas por esse método, ele deverá chamar SysFreeString para liberar a memória mantida pelos parâmetros pbstrWriter e pbstrApplicationMessage.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho vsbackup.h (inclua VsBackup.h, Vss.h, VsWriter.h)

Confira também

CVssWriterEx2::SetWriterFailureEx

IVssBackupComponents::GetWriterStatus

IVssBackupComponentsEx3