Compartir a través de


Método CVssWriter::OnPostSnapshot (vswriter.h)

Un escritor llama al método OnPostSnapshot después de un evento PostSnapshot .

OnPostSnapshot es un método virtual. Se implementa mediante la clase base CVssWriter , pero se puede invalidar mediante clases derivadas.

Sintaxis

bool OnPostSnapshot(
  [in] IVssWriterComponents *pComponent
);

Parámetros

[in] pComponent

Puntero a un objeto IVssWriterComponents pasado por VSS para proporcionar al método acceso a la información del componente del escritor. El valor de este parámetro puede ser NULL si el solicitante no admite componentes (si CVssWriter::AreComponentsSelected devuelve false).

Valor devuelto

Tal como lo implementa la clase base, OnPostSnapshot siempre devuelve true.

Cualquier otra implementación de este método debe devolver true , excepto en el caso de un error irrecuperable. Si se produce un error irrecuperable, el método debe llamar al método CVssWriter::SetWriterFailure para proporcionar una descripción del error antes de devolver false. Si se produce un error nofatal, el método debe seguir llamando a SetWriterFailure pero devolver true. Si el error se debe a un problema transitorio, el método debe especificar VSS_E_WRITERERROR_RETRYABLE en la llamada a SetWriterFailure.

En todos los casos en los que se produce un error, el método debe escribir un evento en el registro de eventos para notificar el motivo exacto del error.

Comentarios

La implementación predeterminada de este método por la clase base CVssWriter devuelve true sin realizar ninguna otra operación.

CVssWriter::OnPostSnapshot se usa normalmente para procesar las actualizaciones finales del escritor en los metadatos de los componentes de copia de seguridad y limpiar (como quitar archivos temporales).

Si se realiza una copia de seguridad incremental o diferencial, el escritor puede llamar a IVssComponent::GetPreviousBackupStamp e IVssComponent::SetBackupStamp. Para obtener más información, vea Rol de escritor en copias de seguridad de almacenes complejos. Otro método al que se puede llamar en este momento es IVssComponent::AddDifferencedFilesByLastModifyTime.

La mayor parte del trabajo necesario para devolver el escritor a una operación normal (revertir las acciones de CVssWriter::OnPrepareSnapshot y CVssWriter::OnFreeze) normalmente se realiza en CVssWriter::OnThaw, no en OnPostSnapshot.

Los escritores nunca deben producir una excepción de este método o cualquier otro CVssWriter(Ex)::OnXxx método de devolución de llamada.

Si la instantánea tiene la marca de VSS_VOLSNAP_ATTR_AUTORECOVER establecida en el contexto, el escritor debe realizar cualquier recuperación necesaria (por ejemplo, revertir las transacciones incompletas) para que el componente se pueda usar en una copia de solo lectura para la minería de datos (sin agregar carga al servidor activo) o con fines de restauración (por ejemplo, para restaurar los elementos seleccionados de una base de datos).

Para recuperar el nombre del volumen de la instantánea de un volumen, realice los pasos siguientes:

  1. Llame al método CVssWriter::GetCurrentVolumeCount para consultar el número de volúmenes del conjunto de instantáneas.
  2. Llame al método CVssWriter::GetCurrentVolumeArray para enumerar los nombres originales de los volúmenes del conjunto de instantáneas.
  3. Llame a los CSVWriter::GetSnapshotDeviceName para recuperar el nombre del volumen de instantáneas.
Si este método llama al método CVssWriterEx2::GetSessionId, CVssWriter::SetWriterFailure o CVssWriterEx2::SetWriterFailureEx , debe hacerlo en el mismo subproceso que llamó a este método. Para obtener más información, vea Writer Event Handling.

Requisitos

   
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 vswriter.h (incluya Vss.h, VsWriter.h)
Library VssApi.lib

Consulte también

CVssWriter

CVssWriter::GetSnapshotDeviceName

CVssWriter::OnPreRestore

CVssWriter::OnPrepareBackup

CVssWriter::SetWriterFailure

CvssWriter::OnThaw

IVssWriterComponents