Méthode IOleUndoManager ::UndoTo (ocidl.h)
Indique au gestionnaire d’annulation d’appeler des actions d’annulation par le biais de la pile d’annulation, jusqu’à et y compris l’unité d’annulation spécifiée.
Syntaxe
HRESULT UndoTo(
[in] IOleUndoUnit *pUU
);
Paramètres
[in] pUU
Pointeur vers l’unité de niveau supérieur à annuler. Si ce paramètre a la valeur NULL, l’unité de niveau supérieur ajoutée la plus récente est utilisée.
Valeur retournée
Cette méthode retourne S_OK en cas de réussite. Les autres valeurs de retour possibles sont les suivantes.
Code de retour | Description |
---|---|
|
L’unité d’annulation spécifiée ne se trouve pas sur la pile d’annulation. |
|
La tentative d’annulation et la tentative de restauration ont échoué. Le gestionnaire d’annulation ne doit jamais propager les E_ABORT obtenues à partir d’une unité d’annulation autonome. Au lieu de cela, il doit mapper toutes les valeurs E_ABORT retournées par d’autres unités d’annulation à E_FAIL. Le gestionnaire d’annulation doit mapper toute valeur de E_ABORT retournée par d’autres unités d’annulation à E_FAIL, car l’appelant de IOleUndoManager ::UndoTo sait que la tentative d’annulation et la tentative de restauration ont échoué, et c’est la seule raison pour laquelle la valeur de retour de E_ABORT. |
|
Le gestionnaire d’annulation est désactivé. |
Remarques
Cette méthode appelle la méthode IOleUndoUnit ::D o sur chaque unité d’annulation de niveau supérieur. Ensuite, il libère cette unité d’annulation.
Notez que l’unité d’annulation spécifiée doit être une unité de niveau supérieur, généralement récupérée via IOleUndoManager ::EnumUndoable.
Si une erreur est retournée à partir de l’unité d’annulation, le gestionnaire d’annulation doit tenter de restaurer l’état du document pour récupérer de l’erreur en effectuant des actions sur la pile de restauration automatique.
Quelle que soit la réussite de la restauration, le gestionnaire d’annulation doit toujours effacer les deux piles avant de renvoyer l’erreur.
Si le gestionnaire d’annulation a appelé la méthode Do sur plusieurs unités de niveau supérieur, il doit uniquement restaurer l’unité qui a retourné l’erreur. Les unités de niveau supérieur qui ont réussi ne doivent pas être restaurées.
Le gestionnaire d’annulation doit également suivre si des unités ont été ajoutées à la pile opposée afin qu’il ne tente pas de restaurer si rien n’a été ajouté. Consultez l’interface IOleUndoManager pour obtenir une description détaillée de la gestion des erreurs.
Notes aux appelants
Il est possible qu’une unité d’annulation retourne E_ABORT en tant qu’échec, mais cela n’a pas de signification spécifique sur IOleUndoUnit. Étant donné que le gestionnaire d’annulation retourne généralement le code d’erreur donné par l’unité d’annulation ayant échoué, et que E_ABORT a une signification spécifique sur IOleUndoManager ::UndoTo, le gestionnaire d’annulation ne doit jamais transmettre E_ABORT, car l’appelant l’interprétera comme l’échec de la restauration alors qu’en fait il a peut-être réussi.Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | ocidl.h |