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
S_OK
Ajout du composant.
E_INVALIDARG
L’une des valeurs de paramètre n’est pas valide.
E_OUTOFMEMORY
L’appelant n’a pas de mémoire ou d’autres ressources système.
VSS_E_BAD_STATE
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.
VSS_E_INVALID_XML_DOCUMENT
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.
VSS_E_OBJECT_ALREADY_EXISTS
L’objet est un doublon. Un composant avec le même chemin logique et le même nom de composant existe déjà.
VSS_E_UNEXPECTED
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

CVssWriter ::Initialize

IVssBackupComponents

IVssBackupComponents ::P repareForBackup

IVssExamineWriterMetadata ::GetIdentity

VSS_COMPONENT_TYPE