Contenido del documento de componentes de copia de seguridad
Las instancias de la interfaz IVssBackupComponents mantienen el documento de componentes de copia de seguridad. Esta interfaz también contiene numerosos métodos para controlar las operaciones de copia de seguridad, manipular instantáneas y consultar el estado del sistema. Sin embargo, no toda la información del documento es accesible directamente a través de esta interfaz.
El documento componentes de copia de seguridad consta de varios conjuntos de datos:
- Información sobre qué componentes se incluyeron explícitamente en una operación de copia de seguridad o restauración
- Representación del componente almacenado y la información del escritor
- Información de estado sobre la operación de copia de seguridad o recuperación
Aunque la información del componente está disponible para el solicitante y el escritor, solo el escritor tiene acceso a la información de estado.
Información de inclusión de componentes
El documento componentes de copia de seguridad contiene una lista de esos componentes incluidos explícitamente en la copia de seguridad y restauración por parte del solicitante. La lista contiene lo siguiente:
Se incluyen explícitamente componentes seleccionables.
La inclusión de estos archivos en las operaciones de copia de seguridad se indica mediante IVssBackupComponents::AddComponent y en las operaciones de restauración por IVssBackupComponents::SetSelectedForRestore.
No seleccionable para subcomponentes de copia de seguridad sin que se pueda seleccionar para el antecesor del componente de copia de seguridad.
Todos estos componentes deben incluirse si alguno de los componentes del escritor se incluirá en la operación. La inclusión de estos archivos en las operaciones de copia de seguridad se indica mediante IVssBackupComponents::AddComponent y en las operaciones de restauración por IVssBackupComponents::SetSelectedForRestore.
Los componentes agregados implícitamente a la copia de seguridad (subcomponentes) que se pueden seleccionar para restaurar y se agregan explícitamente a la restauración.
Estos componentes pueden ser seleccionables o no seleccionables, pero tienen un antecesor seleccionable que se usó para seleccionarlos implícitamente para la copia de seguridad. Se agregan al documento de componentes de copia de seguridad por IVssBackupComponents::AddRestoreSubcomponent.
Las identidades de los componentes incluidos implícitamente en la restauración no se almacenan en el documento Componentes de copia de seguridad.
VSS tiene acceso a información sobre la inclusión de componentes: los escritores sin componentes incluidos explícitamente en una restauración o copia de seguridad no reciben eventos vsS después de la generación de los eventos PrepareForBackup o PreRestore .
Los escritores no pueden consultar directamente esta información. Esta no es una limitación significativa porque, por diseño, los escritores de VSS individuales no deben requerir información detallada sobre el estado de otros escritores en el sistema y, como se indicó anteriormente, los que no tienen componentes incluidos no tendrán que participar en la operación de VSS.
Un solicitante puede determinar qué componentes se han incluido explícitamente en una operación.
El método IVssBackupComponents::GetWriterComponentsCount devuelve el número de escritores con información de componente almacenada en el documento componentes de copia de seguridad (y no el número de componentes del documento).
El solicitante se indexa a través de la información del escritor almacenado mediante IVssBackupComponents::GetWriterComponents, que devuelve instancias de la interfaz IVssWriterComponentsExt . La interfaz IVssWriterComponentsExt permite al solicitante obtener la clase de escritor y la instancia de escritor de escritores participantes, así como acceder a información sobre los componentes almacenados en el documento componentes de copia de seguridad.
Información sobre los componentes incluidos
Representación del documento componentes de copia de seguridad de los datos del componente (que no incluye información de ruta de acceso y especificación de archivo), a la que se accede a través de instancias de la interfaz IVssComponent .
Los solicitantes y escritores obtienen acceso a instancias de la interfaz IVssComponent de diferentes maneras.
Un solicitante examina los datos de componente en un escritor por escritor mediante instancias de la interfaz IVssWriterComponentsExt devuelta por IVssBackupComponents::GetWriterComponents.
Además de la información de identificación del escritor, la interfaz IVssWriterComponentsExt proporciona una matriz de instancias de la interfaz IVssComponent , una para cada uno de los componentes seleccionados incluidos.
Como se indicó en El ciclo de vida del documento de componentes de copia de seguridad, los escritores pueden obtener acceso a la misma información a través de la interfaz IVssWriterComponents al controlar el evento PrepareForBackup, PrepareForSnapshot, PostSnapshot, BackupComplete, PreRestore o PostRestore.
IVssComponent permite que tanto el escritor como los solicitantes obtengan la siguiente información:
- Nombre, tipo y ruta de acceso lógica de un componente (GetComponentName, GetComponentType, GetLogicalPath)
- Cómo se debe restaurar un componente como se indica en el destino de restauración (IVssComponent::GetRestoreTarget)
- Si se usó una ubicación alternativa para restaurar un archivo (GetAlternateLocationMapping, GetAlternateLocationMappingCount)
- Nueva información de destino, si existe (GetNewTarget, GetNewTargetCount)
- Mensajes de error previos y posteriores a la restauración (GetPreRestoreFailureMsg, GetPostRestoreFailureMsg)
- Si se ha seleccionado un componente de copia de seguridad para definir un conjunto de componentes para la restauración (IsSelectedForRestore)
- Si una copia de seguridad o restauración se realizó correctamente (GetBackupSucceeded, GetFileRestoreStatus)
- Cualquier opción de copia de seguridad o restauración específica del escritor que pueda haber establecido IVssBackupComponents::SetBackupOptions o IVssBackupComponents::SetRestoreOptions (GetBackupOptions, GetRestoreOptions)
- Cualquier copia de seguridad o restauración de metadatos específicos del escritor (GetBackupMetadata), GetRestoreMetadata)
- Información de marca de tiempo (GetBackupStamp, GetPreviousBackupStamp)
- Información sobre los subcomponentes de copia de seguridad incluidos explícitamente en una restauración (GetRestoreSubcomponent, GetRestoreSubcomponentCount)
A diferencia de los solicitantes, los escritores pueden cambiar cierta información en el documento componentes de copia de seguridad a través de la interfaz IVssComponent :
- Cómo se debe restaurar un componente como se indica en el destino de restauración (IVssComponent::SetRestoreTarget)
- Metadatos de copia de seguridad y restauración específicos del escritor (IVssComponent::SetBackupMetadata, IVssComponent::SetRestoreMetadata)
- Información de marca de tiempo (SetBackupStamp)
- Mensajes de error previos y posteriores a la restauración (SetPreRestoreFailureMsg, SetPostRestoreFailureMsg)
Información de estado del solicitante
Los solicitantes insertan información sobre el estado de una operación de copia de seguridad o restauración en el documento componentes de copia de seguridad mediante la interfaz IVssBackupComponents . Las aplicaciones de escritor pueden consultar esta información a través de la clase CVssWriter .
La información de estado almacenada en el documento Componentes de copia de seguridad incluye lo siguiente:
Información general sobre la copia de seguridad
- El tipo de copia de seguridad general (incremental, diferencial o completo)
Establecer por solicitante mediante IVssBackupComponents::SetBackupState
Recuperado por escritores mediante CVssWriter::GetBackupType
-
Establecer por solicitante mediante IVssBackupComponents::SetBackupState
-
Recuperado por escritores mediante CVssWriter::AreComponentsSelected
-
Establecer por solicitante mediante IVssBackupComponents::SetBackupState
-
Recuperado por escritores mediante CVssWriter::IsBootableStateBackedUp
-
Establecer por solicitante mediante IVssBackupComponents::SetBackupState
-
Recuperado por escritores mediante CVssWriter::IsPartialFileSupportEnabled
Información general sobre la restauración
- Tipo de restauración general (si la restauración es por copia o importación)
Establecer por solicitante mediante IVssBackupComponents::SetRestoreState
Recuperado por escritores mediante CVssWriter::GetRestoreType
Información sobre los archivos auxiliares
- Ubicación de los archivos de intervalos utilizados por un componente específico en operaciones de archivos parciales
Establecer por solicitante mediante IVssBackupComponents::SetRangesFilePath
Recuperado por escritores (o solicitantes) mediante IVssComponent::GetPartialFile
Estado de la información
- Indica si se ha realizado correctamente una copia de seguridad de uno de los componentes de un sistema de escritura determinado.
Establecer por solicitante mediante IVssBackupComponents::SetBackupSucceeded
Recuperado por escritores y solicitantes mediante IVssComponent::GetBackupSucceeded
-
Establecer por solicitante mediante IVssBackupComponents::SetFileRestoreStatus
-
Recuperado por escritores y solicitante mediante IVssComponent::GetFileRestoreStatus
información de Writer-Settable
- Especificación de copia de seguridad adicional para uno de los componentes de un sistema de escritura determinado
Establecer por escritores mediante IVssComponent::SetBackupMetadata
Recuperado por escritores y solicitantes mediante IVssComponent::GetBackupMetadata
-
Establecer por escritores mediante IVssComponent::SetRestoreMetadata
-
Recuperado por escritores y solicitantes mediante IVssComponent::GetRestoreMetadata
-
Establecer por escritores mediante IVssComponent::SetBackupStamp
-
Recuperado por escritores y solicitantes mediante IVssComponent::GetBackupStamp
-
Almacenado y establecido por solicitantes para un componente específico mediante IVssBackupComponents::SetPreviousBackupStamp
-
Recuperado por escritores y solicitantes mediante IVssComponent::GetPreviousBackupStamp
-
Establecer por escritores mediante IVssComponent::SetPreRestoreFailureMsg o IVssComponent::SetPostRestoreFailureMsg
-
Recuperado por escritores y solicitantes mediante IVssComponent::GetPreRestoreFailureMsg o IVssComponent::GetPostRestoreFailureMsg