Partager via


Interface IOleUndoUnit (ocidl.h)

Sert d’interface main sur une unité d’annulation. Une unité d’annulation encapsule les informations nécessaires pour annuler ou rétablir une seule action.

Quand l’état d’un objet change et qu’il doit créer une unité d’annulation, il doit d’abord savoir quelles unités parentes sont ouvertes. Il appelle la méthode IOleUndoManager ::GetOpenParentState pour le déterminer. Si l’appel retourne S_FALSE, il n’y a pas d’activation du parent. Si l’appel retourne S_OK mais que l’indicateur UAS_NOPARENTENABLE est défini, le parent ouvert est un parent de désactivation. Dans l’un de ces cas, l’objet appelle IOleUndoManager ::D iscardFrom(NULL) sur le gestionnaire d’annulation et ignore la création de l’unité d’annulation.

Si la méthode retourne S_OK, mais que l’indicateur UAS_BLOCKED est défini, le parent ouvert est un parent bloquant. L’objet n’a pas besoin de créer une unité d’annulation, car il est immédiatement ignoré. Si la valeur de retour est S_OK et qu’aucun des indicateurs de bits n’est défini, l’objet crée l’unité d’annulation et appelle IOleUndoManager ::Add sur le gestionnaire d’annulation.

L’objet doit conserver un pointeur vers le gestionnaire d’annulation.

Héritage

L’interface IOleUndoUnit hérite de l’interface IUnknown. IOleUndoUnit a également les types de membres suivants :

Méthodes

L’interface IOleUndoUnit a ces méthodes.

 
IOleUndoUnit ::D o

Indique à l’unité d’annulation d’effectuer son action. Notez que s’il contient des unités d’annulation enfants, il doit également appeler leurs méthodes Do.
IOleUndoUnit ::GetDescription

Récupère une description de l’unité d’annulation qui peut être utilisée dans l’interface utilisateur annuler ou rétablir.
IOleUndoUnit ::GetUnitType

Récupère le CLSID et un identificateur de type pour l’unité d’annulation.
IOleUndoUnit ::OnNextAdd

Indique à la dernière unité d'annulation de la collection qu'une nouvelle unité a été ajoutée.

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

Voir aussi

IOleParentUndoUnit

IOleUndoManager