Méthode IVssBackupComponents ::AddComponent (vsbackup.h)
La méthode AddComponent est utilisée pour ajouter explicitement au jeu de sauvegarde dans le document Composants de sauvegarde tous les composants requis (non sélectionnables pour les composants de sauvegarde sans ancêtre de sauvegarde sélectionnable) et les composants facultatifs (sélectionnables pour la sauvegarde) que le demandeur estime nécessaires. Les membres des jeux de composants (composants avec un ancêtre sélectionnable pour la sauvegarde) sont implicitement inclus dans le jeu de sauvegarde, mais ne sont pas explicitement ajoutés au document Composants de sauvegarde.
Syntaxe
HRESULT AddComponent(
[in] VSS_ID instanceId,
[in] VSS_ID writerId,
[in] VSS_COMPONENT_TYPE ct,
[in] LPCWSTR wszLogicalPath,
[in] LPCWSTR wszComponentName
);
Paramètres
[in] instanceId
Identifie un instance spécifique d’un enregistreur.
[in] writerId
Identificateur de classe Writer.
[in] ct
Identifie le type du composant. Reportez-vous à la documentation pour VSS_COMPONENT_TYPE pour connaître les valeurs d’entrée autorisées.
[in] wszLogicalPath
Chaîne de caractères larges terminée par null contenant le chemin logique du composant sélectionnable pour la sauvegarde. Pour plus d’informations, consultez Chemin d’accès logique des composants.
Un chemin d’accès logique n’est pas requis lors de l’ajout d’un composant. Par conséquent, la valeur de ce paramètre peut être NULL.
Il n’existe aucune restriction sur les caractères qui peuvent apparaître dans un chemin logique non NULL .
[in] wszComponentName
Chaîne de caractères larges terminées par null contenant le nom du composant sélectionnable pour la sauvegarde.
La valeur de ce paramètre ne peut pas être NULL.
Il n’existe aucune restriction sur les caractères qui peuvent apparaître dans un chemin logique non NULL .
Valeur retournée
Voici les codes de retour valides pour cette méthode.
Valeur | Signification |
---|---|
|
Ajout du composant. |
|
L’une des valeurs de paramètre n’est pas valide. |
|
L’appelant n’a pas de mémoire ou d’autres ressources système. |
|
L’objet de composants de sauvegarde n’est pas initialisé, cette méthode a été appelée lors d’une opération de restauration ou cette méthode n’a pas été appelée dans la séquence correcte. |
|
Le document XML n’est pas valide. Consultez le journal des événements pour plus d’informations. Pour plus d’informations, consultez Gestion des événements et des erreurs sous VSS. |
|
L’objet est un doublon. Un composant avec le même chemin logique et le même nom de composant existe déjà. |
|
Erreur inattendue. Le code d’erreur est enregistré dans le fichier journal des erreurs. Pour plus d’informations, consultez Gestion des événements et des erreurs sous VSS.
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge tant que Windows Server 2008 R2 et Windows 7. E_UNEXPECTED est utilisé à la place. |
Remarques
La méthode AddComponent a une signification uniquement si l’opération de sauvegarde a lieu en mode composant.
Seuls ces types de composants doivent être ajoutés au document Composants de sauvegarde à l’aide de AddComponent.
- Composants sélectionnables pour la sauvegarde (voir La sélection pour la sauvegarde).
- Composants non sélectionnables pour la sauvegarde sans ancêtres sélectionnables pour la sauvegarde.
Les composants non sélectionnables pour la sauvegarde qui ont un ancêtre sélectionnable pour la sauvegarde dans la hiérarchie de leurs chemins logiques font partie d’un ensemble de composants défini par l’ancêtre sélectionnable pour la sauvegarde. Ces composants sont implicitement ajoutés au document composants de sauvegarde lors de l’ajout de l’ancêtre et ne doivent jamais être ajoutés explicitement au document composants de sauvegarde d’un demandeur à l’aide de AddComponent. Le résultat de cette opération n’est pas défini (voir Utilisation de la sélection et des chemins logiques).
Sélectionnable pour les composants de sauvegarde avec sélectionnable pour la sauvegarde les ancêtres sont également des sous-composants dans un ensemble de composants. Ils peuvent être implicitement sélectionnés si leur ancêtre est sélectionné (auquel cas ils ne sont pas ajoutés au document composants de sauvegarde à l’aide de AddComponent), ou ils peuvent être sélectionnés explicitement à l’aide de AddComponent.
La combinaison de chemin d’accès logique et de nom pour chaque composant d’un instance donné d’une classe d’enregistreur donnée doit être unique. La tentative d’appel de AddComponent deux fois avec les mêmes valeurs de wszLogicalPath et wszComponentName entraîne une erreur VSS_E_OBJECT_ALREADY_EXISTS.
La distinction entre instanceId et writerID est nécessaire, car il est possible d’exécuter plusieurs copies pour le même enregistreur.
L’identificateur de classe et les instance d’un enregistreur sont disponibles en appelant IVssExamineWriterMetadata ::GetIdentity.
Avant d’appeler AddComponent, un demandeur doit avoir été initialisé pour la sauvegarde en appelant IVssBackupComponents ::InitializeForBackup et IVssBackupComponents ::CollectWriterMetadata. Consultez Vue d’ensemble de l’initialisation de sauvegarde.
Le demandeur doit appeler AddComponent pour ajouter les composants requis au cliché instantané avant d’appeler IVssBackupComponents ::D oSnapshotSet pour créer le cliché instantané. Consultez Vue d’ensemble de la phase de découverte de sauvegarde et Vue d’ensemble des tâches de pré-sauvegarde.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | vsbackup.h (inclure VsBackup.h, Vss.h, VsWriter.h) |
Bibliothèque | VssApi.lib |
Voir aussi
IVssBackupComponents ::P repareForBackup