Determinar el estado del escritor
Un solicitante necesita tener un conocimiento bien definido sobre el estado del escritor que participa con él durante la creación de la copia instantánea y durante las operaciones de copia de seguridad y restauración. Para ello, se recomienda:
Los solicitantes usan IVssBackupComponents::GatherWriterStatus, IVssBackupComponents::GetWriterStatusCount y IVssBackupComponents::GetWriterStatus.
Como se describe en Descripción general del procesamiento de una copia de seguridad en VSS y Descripción general del procesamiento de una restauración en VSS, estos métodos son más útiles cuando se llaman en una secuencia de copia de seguridad o restauración bien definida. Normalmente, esto significa que los escritores deben consultarse después de que un solicitante haya completado una de sus tareas y generado un evento VSS.
Al procesar una copia de seguridad, un solicitante debe consultar a un escritor después de la finalización de los métodos siguientes. Los solicitantes deben llamar a GatherWriterStatus después de llamar a BackupComplete para que la sesión de escritor se establezca en un estado completado.
Nota:
Esto solo es necesario en Windows Server 2008 con Service Pack 2 (SP2) y versiones anteriores.
IVssBackupComponents::PrepareForBackup
Durante las operaciones de restauración, un solicitante debe consultar un escritor después de completar estos métodos:
- Las llamadas a IVssBackupComponents::GatherWriterStatus que no forman parte de una secuencia de copia de seguridad o restauración bien definida no proporcionan una imagen fiable del estado del escritor, ya que podrían reflejar condiciones que no indican fallos en la operación actual, como por ejemplo:
- Error de creación de instantáneas anterior
- Error en una operación de copia de seguridad o restauración temprana
- Un escritor que no responde actualmente procesa un evento
Por lo tanto, los desarrolladores no deben confiar en el estado de escritura devuelto por procesos distintos del solicitante ni intentar supervisar el progreso de una instancia de la interfaz IVssBackupComponents con otra (posiblemente en un subproceso independiente).
Tenga en cuenta que para las operaciones de copia de seguridad, en las que es necesario examinar los documentos de metadatos de escritor de los escritores, no es necesaria una llamada del solicitante a IVssBackupComponents::GatherWriterStatus y IVssBackupComponents::GetWriterStatus tras la generación y el control del evento Identify provocado por IVssBackupComponents::GatherWriterMetdata.
IVssBackupComponents::GetWriterStatus informa solo del estado de aquellos escritores cuyos metadatos fueron proporcionados a VSS por los controladores de evento Identify de los escritores, CVssWriter::OnIdentify (y devueltos al solicitante por IVssBackupComponents::GetWriterMetadataCount y IVssBackupComponents::GetWriterMetadata).
Si la implementación de CVssWriter::OnIdentify de un escritor falla, los metadatos de ese escritor no formarán parte de la lista de documentos de metadatos de escritor proporcionada a VSS, no habrá información de estado disponible y la llamada sería redundante.
Para las operaciones de restauración, en las que el solicitante no necesita examinar los documentos de metadatos de los escritores en ejecución, llamar a IVssBackupComponents::GatherWriterStatus y IVssBackupComponents::GetWriterStatus puede ser una forma más eficiente de determinar qué escritores se están ejecutando.