Compartir a través de


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

El método GetWriterComponents se usa para devolver información sobre esos componentes de un escritor determinado que se han almacenado en el documento componentes de copia de seguridad de un solicitante.

Sintaxis

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

Parámetros

[in] iWriter

Índice del escritor que se está consultando. Es un número comprendido entre 0 y n-1, donde n es el valor devuelto por IVssBackupComponents::GetWriterComponentsCount.

[out] ppWriter

Puntero indirecto doblemente a un objeto de interfaz IVssWriterComponentsExt que recibirá la información de componente devuelta.

Valor devuelto

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

Valor Significado
S_OK
Devolvió correctamente un puntero a un objeto de interfaz IVssWriterComponentsExt .
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_BAD_STATE
El objeto de componentes de copia de seguridad no se inicializa, se ha llamado a este método durante una operación de restauración o no se ha llamado a este método dentro de la secuencia correcta.
VSS_E_OBJECT_NOT_FOUND
La instantánea especificada no existe.
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, vea 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 autor de la llamada de este método debe llamar a IUnknown::Release cuando termine de acceder a la información del componente.

GetWriterComponents recupera información de componentes de un componente almacenado en el documento componentes de copia de seguridad mediante llamadas anteriores a IVssBackupComponents::AddComponent.

La información de los componentes almacenados en el documento Componentes de copia de seguridad no es estática. Si un escritor actualiza un componente durante una restauración, ese cambio se reflejará en el componente recuperado por GetWriterComponents. Esto contrasta con la información de componentes encontrada en el objeto IVssWMComponent devuelto por IVssExamineWriterMetadata::GetComponent. Esa información es de solo lectura y procede del documento de metadatos del escritor de un proceso de escritura.

El puntero de interfaz IVssWriterComponentsExt que se devuelve en el parámetro pWriterComponents no debe almacenarse en caché, ya que los siguientes métodos IVssBackupComponents hacen que el puntero de interfaz devuelto por GetWriterComponents ya no sea válido:

IVssBackupComponents::P repareForBackupIVssBackupComponents::D oSnapshotSetIVssBackupComponents::BackupCompleteIVssBackupComponents::P reRestoreIVssBackupComponents::P ostRestore Si llama a uno de estos métodos después de haber recuperado un puntero de interfaz IVssWriterComponentsExt llamando a GetWriterComponents, no puede reutilizar ese puntero, porque ya no es válido. En su lugar, debe llamar a GetWriterComponents de nuevo para recuperar un nuevo puntero de interfaz IVssWriterComponentsExt .

Requisitos

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

Consulte también

IVssBackupComponents

IVssBackupComponents::AddComponent

IVssBackupComponents::GatherWriterMetadata

IVssBackupComponents::GetWriterComponentsCount

IVssBackupComponents::GetWriterMetadata

IVssBackupComponents::P reRestore

IVssExamineWriterMetadata

IVssExamineWriterMetadata::GetComponent

IVssWriterComponents

IVssWriterComponentsExt