Utilisation de la possibilité de sélection pour la restauration et les sous-composants
La sélection pour la restauration permet au demandeur de déterminer quand un composant peut être restauré individuellement. Un composant qui a été inclus pour la sauvegarde peut apparaître de l’une des deux manières suivantes :
- Un composant a peut-être été explicitement inclus dans la sauvegarde. Ces composants ont un instance IVssComponent correspondant dans le document Composants de sauvegarde. Ces composants sont inclus dans une restauration à l’aide de IVssBackupComponents::SetSelectedForRestore.
- Un composant a peut-être été implicitement inclus dans la sauvegarde. Ces composants n’ont pas de instance IVssComponent correspondant dans le document Composants de sauvegarde. Toutefois, il y aura toujours un instance IVssComponent pour un composant ancêtre dans le document. Ces composants sont inclus dans une restauration à l’aide de IVssBackupComponents::AddRestoreSubcomponent.
Tout composant qui a été explicitement inclus dans la sauvegarde peut toujours être sélectionné individuellement pour la restauration, quelle que soit sa valeur de sélection pour la restauration. Le demandeur appelle IVssBackupComponents::SetSelectedForRestore, en passant l’ID de writer, le chemin logique et le nom du composant spécifique. Les composants qui ont été implicitement inclus dans la sauvegarde sont restaurés lorsqu’un ancêtre explicitement inclus est restauré. Les composants implicitement inclus peuvent être sélectionnés individuellement pour la restauration uniquement s’ils sont marqués comme sélectionnables pour la restauration. Le demandeur appelle d’abord IVssBackupComponents::SetSelectedForRestore sur le composant ancêtre explicitement inclus le plus proche, puis appelle IVssBackupComponents::AddRestoreSubcomponent sur le composant ancêtre pour sélectionner le composant implicitement inclus pour la restauration. Une fois cette opération effectuée, seul le composant implicitement sélectionné est restauré ; tous les autres composants du jeu de composants ne seront pas restaurés.
Contrairement à la possibilité de sélection pour la sauvegarde, qui doit toujours être définie explicitement lorsqu’un composant est ajouté avec IVssCreateWriterMetadata::AddComponent, la sélectabilité pour la restauration a une valeur par défaut false, qui peut être remplacée.
Étant donné que les composants de niveau supérieur (composants avec un chemin logique vide) ne peuvent être explicitement inclus dans une sauvegarde, la sélection de la restauration n’a aucune signification pour ces composants.