Partager via


Méthode IVssCreateWriterMetadata::SetRestoreMethod (vswriter.h)

La méthode SetRestoreMethod indique comment restaurer les données de l’enregistreur.

Syntaxe

HRESULT SetRestoreMethod(
  [in] VSS_RESTOREMETHOD_ENUM method,
  [in] LPCWSTR                wszService,
  [in] LPCWSTR                wszUserProcedure,
  [in] VSS_WRITERRESTORE_ENUM writerRestore,
  [in] bool                   bRebootRequired
);

Paramètres

[in] method

VSS_RESTOREMETHOD_ENUM valeur spécifiant la méthode qui sera utilisée dans l’opération de restauration.

[in] wszService

Pointeur vers une chaîne de caractères large contenant le nom d’un service qui doit être arrêté avant une opération de restauration, puis démarré après l’opération de restauration, si la valeur de la méthode est VSS_RME_STOP_RESTORE_START ou VSS_RME_RESTORE_STOP_START.

Si la valeur de la méthode n’est pas VSS_RME_STOP_RESTORE_START ou VSS_RME_RESTORE_STOP_START, cet argument n’est pas utilisé et doit être défini sur NULL.

[in] wszUserProcedure

Réservé pour un usage futur. La valeur de ce paramètre doit toujours être définie sur NULL.

[in] writerRestore

VSS_WRITERRESTORE_ENUM valeur spécifiant si l’enregistreur sera impliqué dans la restauration de ses données.

Les enregistreurs express doivent définir ce paramètre sur VSS_WRE_NEVER.

[in] bRebootRequired

Boolean indiquant si un redémarrage sera nécessaire une fois l’opération de restauration terminée.

Valeur retournée

Voici les codes de retour valides pour cette méthode.

Valeur Signification
S_OK
0x00000000L
L'opération a réussi.
E_INVALIDARG
0x80070057L
L’une des valeurs de paramètre n’est pas valide.
E_OUTOFMEMORY
0x8007000EL
L’appelant n’a plus de mémoire ou d’autres ressources système.
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
Le document XML n’est pas valide. Pour plus d’informations, consultez le journal des événements. Pour plus d’informations, consultez Gestion des événements et des erreurs sous VSS.
VSS_E_NOT_SUPPORTED
0x8004232FL
L’appelant a spécifié une valeur VSS_WRITERRESTORE_ENUM qui n’est pas prise en charge pour les enregistreurs express.
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

Une seule méthode de restauration est définie pour un writer. Si la méthode de restauration n’est pas remplacée, tous les composants de l’enregistreur sont restaurés à l’aide de la même méthode.

Les enregistreurs remplacent la méthode de restauration sur une base de composant par composant en définissant une cible de restauration, généralement lors de la gestion d’un événement PreRestore (CVssWriter::OnPreRestore).

Il est important de noter que malgré le fait que les méthodes de restauration sont appliquées à l’échelle de l’enregistreur, les méthodes sont implémentées par composant. Par exemple, si la méthode spécifiée par le paramètre de méthode est VSS_RME_RESTORE_IF_CAN_REPLACE, tous les fichiers du composant sont restaurés à leur emplacement d’origine s’ils peuvent tous être remplacés sans qu’une erreur ne se produise. Dans le cas contraire, ils sont restaurés à leur autre emplacement, le cas échéant.

Un fichier doit toujours être restauré dans son autre mappage d’emplacement si l’une des conditions suivantes est vraie :

  • La méthode de restauration (définie au moment de la sauvegarde) est VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
  • Sa cible de restauration a été définie (au moment de la restauration) sur VSS_RT_ALTERNATE.
Dans les deux cas, si aucun autre mappage d’emplacement valide n’est défini, cela constitue une erreur de writer.

Un fichier peut être restauré dans un autre mappage d’emplacement si l’une des conditions suivantes est remplie :

  • La méthode de restauration est VSS_RME_RESTORE_IF_NOT_THERE et une version du fichier est déjà présente sur le disque.
  • La méthode de restauration est VSS_RME_RESTORE_IF_CAN_REPLACE et une version du fichier est présente sur le disque et ne peut pas être remplacée.
Là encore, si aucun mappage d’emplacement alternatif valide n’est défini, cela constitue une erreur de writer.

Un autre mappage d’emplacement est utilisé uniquement pendant une opération de restauration et ne doit pas être confondu avec un autre chemin, qui est utilisé uniquement pendant une opération de sauvegarde.

Pour plus d’informations sur les méthodes de restauration, consultez Définition des méthodes de restauration VSS.

Si la méthode de restauration est VSS_RME_STOP_RESTORE_START ou VSS_RME_RESTORE_STOP_START, le nom correct du service doit être fourni en tant qu’argument wszService . Pour plus d’informations sur la participation de l’enregistreur à l’arrêt et au redémarrage des services pendant une opération de restauration, consultez Arrêt des services pour la restauration par les demandeurs.

Configuration requise

   
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 vswriter.h (inclure Vss.h, VsWriter.h)
Bibliothèque VssApi.lib

Voir aussi

CVssWriter::OnPostRestore

CVssWriter::OnPreRestore

IVssCreateWriterMetadata

IVssExamineWriterMetadata::GetRestoreMethod