Partager via


Méthode IOleUndoUnit ::OnNextAdd (ocidl.h)

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

Syntaxe

HRESULT OnNextAdd();

Valeur de retour

Les implémentations de cette méthode retournent toujours S_OK. Le type de retour HRESULT est utilisé uniquement pour la communication à distance.

Remarques

Un objet peut créer une unité d’annulation pour une action et l’ajouter au gestionnaire d’annulation, mais peut continuer à y insérer des données via des interfaces privées. Lorsque l’unité d’annulation reçoit un appel à cette méthode, elle communique à l’objet de création que le contexte a changé. Ensuite, la création de l’objet cesse d’insérer des données dans l’unité d’annulation.

L’unité d’annulation parente appelle cette méthode sur son unité d’annulation enfant la plus récente pour informer l’unité enfant que le contexte a changé et qu’une nouvelle unité d’annulation a été ajoutée.

Par exemple, cette méthode est utilisée pour prendre en charge les actions approximatives, telles que la saisie, qui n’ont pas de point d’arrêt clair, mais qui ne sont arrêtées qu’en cas d’autre chose.

Cette méthode peut ne pas toujours être appelée si le gestionnaire d’annulation ou une unité parente ouverte choisit d’ignorer l’unité en appelant À la place IUnknown ::Release . Toute connexion qui alimente des données vers l’unité d’annulation en arrière-plan via des interfaces privées ne doit pas IUnknown ::AddRef l’unité d’annulation.

Remarques aux implémenteurs

Notez que les unités parentes délèguent simplement cette méthode à leur dernière unité enfant ajoutée. Une unité parente doit arrêter la communication via toutes les interfaces privées lorsqu’elle est fermée. Une unité parente sait qu’elle est fermée lorsqu’elle reçoit S_FALSE d’appel de IOleParentUndoUnit ::Close.

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 ::Close

IOleUndoUnit