Trabajar con selectibilidad para restaurar y subcomponentes
La capacidad de selección para la restauración permite al solicitante determinar cuándo se puede restaurar individualmente un componente. Un componente que se ha incluido para la copia de seguridad puede aparecer de una de estas dos maneras:
- Es posible que un componente se haya incluido explícitamente en la copia de seguridad. Estos componentes tienen una instancia IVssComponent correspondiente en el documento Componentes de copia de seguridad. Estos componentes se incluyen en una restauración mediante IVssBackupComponents::SetSelectedForRestore.
- Es posible que un componente se haya incluido implícitamente en la copia de seguridad. Estos componentes no tienen una instancia IVssComponent correspondiente en el documento Componentes de copia de seguridad; sin embargo, siempre habrá una instancia de IVssComponent para algún componente antecesor en el documento. Estos componentes se incluyen en una restauración mediante IVssBackupComponents::AddRestoreSubcomponent.
Cualquier componente que se haya incluido explícitamente en la copia de seguridad siempre se puede seleccionar individualmente para la restauración, independientemente de su valor de selectibilidad para restauración. El solicitante llama a IVssBackupComponents::SetSelectedForRestore, pasando el identificador de escritor, la ruta de acceso lógica y el nombre del componente específico. Los componentes que se han incluido implícitamente en la copia de seguridad se restaurarán cuando se restaure un antecesor incluido explícitamente. Los componentes incluidos implícitamente se pueden seleccionar individualmente para la restauración solo si se marcan como seleccionables para la restauración. El solicitante llama primero a IVssBackupComponents::SetSelectedForRestore en el componente antecesor incluido explícitamente más cercano y, a continuación, llama a IVssBackupComponents::AddRestoreSubcomponent en el componente antecesor para seleccionar el componente incluido implícitamente para la restauración. Una vez hecho esto, solo se restaurará el componente seleccionado implícitamente; No se restaurarán todos los demás componentes del conjunto de componentes.
A diferencia de la capacidad de selección para la copia de seguridad, que siempre debe establecerse explícitamente cuando se agrega un componente con IVssCreateWriterMetadata::AddComponent, la capacidad de selección para la restauración tiene un valor predeterminado de false, que se puede invalidar.
Dado que los componentes de nivel superior (componentes con una ruta lógica vacía) solo se pueden incluir explícitamente en una copia de seguridad, la capacidad de selección para la restauración no tiene ningún significado para estos componentes.