Compartir a través de


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

Inicializa un objeto CVssWriterEx y permite que una aplicación de escritor interactúe con VSS. A diferencia del método Initialize , el método InitializeEx permite al autor de la llamada especificar información de versión del escritor.

InitializeEx es un método público implementado por la clase base CVssWriterEx .

Los escritores deben llamar a Initialize o InitializeEx, pero no a ambos.

Sintaxis

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

Identificador único global (GUID) de la clase writer.

[in] wszWriterName

Cadena de caracteres anchos terminada en null que contiene el nombre del escritor. Esta cadena no está localizada.

[in] dwMajorVersion

La versión principal de la aplicación de escritura. Para obtener más información, vea la sección Comentarios.

[in] dwMinorVersion

La versión secundaria de la aplicación de escritura. Para obtener más información, vea la sección Comentarios.

[in] ut

Valor de enumeración VSS_USAGE_TYPE que indica cómo se usan los datos administrados por el escritor en el sistema host.

[in] st

Valor de enumeración VSS_SOURCE_TYPE que indica el tipo de datos administrados por el escritor.

[in] nLevel

Valor de enumeración VSS_APPLICATION_LEVEL que indica el nivel de aplicación en el que el escritor recibe una notificación de eventos Freeze .

El valor predeterminado de este parámetro es VSS_APP_FRONT_END.

[in] dwTimeoutFreeze

El tiempo máximo permitido, en milisegundos, entre la recepción del escritor de una notificación de evento Freeze y su recepción de una notificación de evento Thaw coincidente de VSS. Una vez expirado el tiempo de espera, se llama automáticamente al método OnAbort del escritor.

El valor predeterminado de este parámetro es 60000.

[in] aws

Valor de enumeración VSS_ALTERNATE_WRITER_STATE que indica si el escritor tiene asociado un escritor alternativo.

El valor predeterminado de este parámetro es VSS_AWS_NO_ALTERNATE_WRITER. El autor de la llamada no debe invalidar este valor predeterminado. Este parámetro se reserva para uso futuro.

[in] bIOThrottlingOnly

Establezca este parámetro en true si los métodos de limitación de E/S están habilitados o false en caso contrario.

El valor predeterminado de este parámetro es false. El autor de la llamada no debe invalidar este valor predeterminado. Este parámetro se reserva para uso futuro.

[in] wszWriterInstanceName

Cadena de caracteres anchos terminada en null que contiene el nombre de instancia del escritor.

El valor predeterminado de este parámetro es NULL. Si el escritor tiene varias instancias y requiere eventos de restauración, este parámetro es necesario y no puede ser NULL. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

Valor devuelto

A continuación se muestran los códigos de retorno válidos para este método.

Valor Significado
S_OK
El objeto writer se inicializó correctamente.
S_FALSE
No se pudo inicializar el objeto writer; la infraestructura del escritor de VSS estaba inactiva porque Windows estaba en modo seguro o estaba configurando.
E_ACCESSDENIED
El autor de la llamada no es administrador.
E_INVALIDARG
Uno de los valores de parámetro no es válido.
E_OUTOFMEMORY
El autor de la llamada no tiene memoria u otros recursos del sistema.
VSS_E_UNEXPECTED
error inesperado. El código de error se registra en el archivo de registro de errores. Para obtener más información, consulte Control de eventos y errores en VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite hasta Windows Server 2008 R2 y Windows 7. E_UNEXPECTED se usa en su lugar.

Comentarios

El método InitializeEx es idéntico al método Initialize , excepto los parámetros dwMajorVersion y dwMinorVersion . Si el escritor usa Initialize en lugar de InitializeEx, la versión del escritor se notificará como 0.0 (versión principal = 0, versión secundaria = 0) por el método IVssExamineWriterMetadataEx2::GetVersion .

Los parámetros dwMajorVersion y dwMinorVersion se usan para especificar los números de versión principal y secundaria del escritor según las siguientes convenciones de VSS:

  • Si el escritor ha cambiado desde Windows XP o es nuevo para Windows Vista, debe especificar la versión 1.0 o posterior para su número de versión.
  • El número de versión secundaria de un escritor debe incrementarse en uno cada vez que una versión publicada del escritor contiene cambios menores que afectan a la interacción del escritor con los solicitantes. Por ejemplo, una corrección a una especificación de archivo en un QFE de escritor o Service Pack justificaría el incremento del número de versión secundaria. Sin embargo, un cambio entre versiones beta o versiones candidatas de lanzamiento de un escritor no justificaría el cambio del número de versión secundaria.
  • El número de versión principal de un escritor debe incrementarse en uno cada vez que una versión publicada del escritor contiene un cambio significativo. Por ejemplo, si los datos de los que se realiza una copia de seguridad con una nueva versión de un escritor no se pueden restaurar con la versión anterior del escritor, se debe incrementar el número de versión principal del nuevo escritor.
  • Cada vez que se incrementa el número de versión principal, el número de versión secundaria debe restablecerse a cero.
Si un escritor no especifica un número de versión, VSS asignará un número de versión predeterminado de 0.0.

VSS asigna un identificador de instancia de escritor único a cada instancia de una aplicación de escritura. Si hay más de una instancia en el sistema al mismo tiempo (por ejemplo, si varios servidores SQL Server se ejecutan en un sistema), cada escritor se identifica de forma única mediante la combinación de su identificador de clase de escritor y su identificador de instancia de escritor.

El parámetro wszWriterInstanceName permite que un escritor de varias instancias especifique un nombre persistente para cada instancia de escritor como una cadena legible. Este nombre debe ser único en todas las instancias del escritor del sistema. Si un escritor tiene varias instancias y requiere eventos de restauración, debe especificar una cadena que no sea NULL para este parámetro. VSS usa el nombre de instancia para restaurar correctamente los escritores de varias instancias.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado vswriter.h (incluya Vss.h, VsWriter.h)
Library VssApi.lib

Consulte también

CVssWriterEx

IVssExamineWriterMetadataEx2::GetVersion