Compartilhar via


Método CVssWriterEx::InitializeEx (vswriter.h)

Inicializa um objeto CVssWriterEx e permite que um aplicativo gravador interaja com o VSS. Ao contrário do método Initialize , o método InitializeEx permite que o chamador especifique informações de versão do gravador.

InitializeEx é um método público implementado pela classe base CVssWriterEx .

Os gravadores devem chamar Initialize ou InitializeEx, mas não ambos.

Sintaxe

HRESULT InitializeEx(
  [in] VSS_ID                     WriterId,
  [in] LPCWSTR                    wszWriterName,
  [in] DWORD                      dwMajorVersion,
  [in] DWORD                      dwMinorVersion,
  [in] VSS_USAGE_TYPE             ut,
  [in] VSS_SOURCE_TYPE            st,
  [in] VSS_APPLICATION_LEVEL      nLevel,
  [in] DWORD                      dwTimeoutFreeze,
  [in] VSS_ALTERNATE_WRITER_STATE aws,
  [in] bool                       bIOThrottlingOnly,
  [in] LPCWSTR                    wszWriterInstanceName
);

Parâmetros

[in] WriterId

O GUID (identificador global exclusivo) da classe de gravador.

[in] wszWriterName

Uma cadeia de caracteres largos terminada em nulo que contém o nome do gravador. Essa cadeia de caracteres não está localizada.

[in] dwMajorVersion

A versão principal do aplicativo gravador. Para obter mais informações, consulte a seção Comentários.

[in] dwMinorVersion

A versão secundária do aplicativo gravador. Para obter mais informações, consulte a seção Comentários.

[in] ut

Um VSS_USAGE_TYPE valor de enumeração que indica como os dados gerenciados pelo gravador são usados no sistema host.

[in] st

Um VSS_SOURCE_TYPE valor de enumeração que indica o tipo de dados gerenciados pelo gravador.

[in] nLevel

Um VSS_APPLICATION_LEVEL valor de enumeração que indica o nível do aplicativo no qual o gravador recebe uma notificação de evento Freeze .

O valor padrão desse parâmetro é VSS_APP_FRONT_END.

[in] dwTimeoutFreeze

O tempo máximo permitido, em milissegundos, entre o recebimento do gravador de uma notificação de evento Freeze e o recebimento de uma notificação de evento thaw correspondente do VSS. Depois que o tempo limite expirar, o método OnAbort do gravador será chamado automaticamente.

O valor padrão para esse parâmetro é 60000.

[in] aws

Um VSS_ALTERNATE_WRITER_STATE valor de enumeração que indica se o gravador tem um gravador alternativo associado.

O valor padrão para esse parâmetro é VSS_AWS_NO_ALTERNATE_WRITER. O chamador não deve substituir esse valor padrão. Esse parâmetro é reservado para uso futuro.

[in] bIOThrottlingOnly

Defina esse parâmetro como true se os métodos de limitação de E/S estiverem habilitados ou false caso contrário.

O valor padrão para esse parâmetro é false. O chamador não deve substituir esse valor padrão. Esse parâmetro é reservado para uso futuro.

[in] wszWriterInstanceName

Uma cadeia de caracteres largos terminada em nulo que contém o nome da instância do gravador.

O valor padrão para esse parâmetro é NULL. Se o gravador tiver várias instâncias e exigir eventos de restauração, esse parâmetro será necessário e não poderá ser NULL. Para obter mais informações, consulte a seção Comentários a seguir.

Retornar valor

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

Valor Significado
S_OK
O objeto writer foi inicializado com êxito.
S_FALSE
O objeto gravador não pôde ser inicializado; a infraestrutura do gravador vss estava inativa porque o Windows estava no modo de segurança ou estava configurando.
E_ACCESSDENIED
O chamador não é um administrador.
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_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 método InitializeEx é idêntico ao método Initialize , exceto para os parâmetros dwMajorVersion e dwMinorVersion . Se o gravador usar Initialize em vez de InitializeEx, a versão do gravador será relatada como 0.0 (versão principal = 0, versão secundária = 0) pelo método IVssExamineWriterMetadataEx2::GetVersion .

Os parâmetros dwMajorVersion e dwMinorVersion são usados para especificar os números de versão principal e secundária do gravador de acordo com as seguintes convenções do VSS:

  • Se o gravador tiver sido alterado desde o Windows XP ou for novo para o Windows Vista, ele deverá especificar 1.0 ou superior para seu número de versão.
  • O número de versão secundária de um gravador deve ser incrementado em um sempre que uma versão lançada do gravador contiver pequenas alterações que afetam a interação do gravador com os solicitantes. Por exemplo, uma correção em uma especificação de arquivo em um QFE ou service pack de gravador justificaria o incremento do número de versão secundária. No entanto, uma alteração entre versões beta ou release candidate de um gravador não justificaria a alteração do número de versão secundária.
  • O número de versão principal de um gravador deve ser incrementado em um sempre que uma versão lançada do gravador contiver uma alteração significativa. Por exemplo, se os dados com backup com uma nova versão de um gravador não puderem ser restaurados usando a versão anterior do gravador, o número de versão principal do novo gravador deverá ser incrementado.
  • Sempre que o número de versão principal é incrementado, o número de versão secundária deve ser redefinido para zero.
Se um gravador não especificar um número de versão, o VSS atribuirá um número de versão padrão de 0.0.

O VSS atribui uma ID de instância de gravador exclusiva a cada instância de um aplicativo gravador. Se mais de uma instância estiver presente no sistema ao mesmo tempo (por exemplo, se vários servidores SQL estiverem em execução em um sistema), cada gravador será identificado exclusivamente pela combinação de sua ID de classe de gravador e sua ID de instância de gravador.

O parâmetro wszWriterInstanceName permite que um gravador de várias instâncias especifique um nome persistente para cada instância de gravador como uma cadeia de caracteres legível por humanos. Esse nome deve ser exclusivo em todas as instâncias do gravador no sistema. Se um gravador tiver várias instâncias e exigir eventos de restauração, ele deverá especificar uma cadeia de caracteres não NULL para esse parâmetro. O VSS usa o nome da instância para restaurar corretamente gravadores de várias instâncias.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [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

CVssWriterEx

IVssExamineWriterMetadataEx2::GetVersion