IOleUndoManager::D iscardFrom-Methode (ocidl.h)

Weist den Rückgängig-Manager an, die angegebene Undo-Einheit und alle rückgängigen Einheiten darunter auf dem Stapel "Rückgängig" oder "Wiederholen" zu verwerfen.

Syntax

HRESULT DiscardFrom(
  [in] IOleUndoUnit *pUU
);

Parameter

[in] pUU

Ein IOleUndoUnit-Zeiger auf die Rückgängig-Einheit, die verworfen werden soll. Dieser Parameter kann NULL sein, um den gesamten Rückgängig- oder Wiederholungsstapel zu verwerfen. Wenn der Parameter nicht NULL ist, wird der Stapel nicht verworfen.

Rückgabewert

Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Rückgabewerte:

Rückgabecode Beschreibung
E_INVALIDARG
Die angegebene Undo-Einheit wurde in den Stapeln nicht gefunden.
E_UNEXPECTED
Der Rückgängig-Manager ist deaktiviert.

Hinweise

Der Rückgängig-Manager durchsucht zuerst den Rückgängigstapel für die angegebene Einheit, und wenn nicht dort gefunden wird, wird der Wiederholungsstapel durchsucht. Nachdem sie gefunden wurde, werden die angegebene Einheit und alle darunter auf demselben Stapel verworfen. Die Undo-Einheit kann ein untergeordnetes Element einer übergeordneten Einheit sein, die vom Undo-Manager enthalten ist, wie durch aufrufen von IOleParentUndoUnit::FindUnit bestimmt. Wenn es sich um eine untergeordnete Einheit handelt, werden die Stammeinheit, die die angegebene Einheit enthält, und alle Einheiten darunter auf dem entsprechenden Stapel verworfen.

Wenn eine geöffnete übergeordnete Einheit vorhanden ist und die DiscardFrom-Methode aufgerufen wird und der pUU-ParameterNULL ist, sollte der Undo-Manager die geöffnete übergeordnete Einheit sofort freigeben und verwerfen, ohne zuerst IOleUndoManager::Close aufzurufen. Wenn das Objekt, das die übergeordnete Einheit geöffnet hat, versucht, sie zu schließen, gibt IOleUndoManager::Close S_FALSE zurück. Wenn eine übergeordnete Einheit geöffnet ist, werfen Sie sie weg, und verwerfen Sie den Stapel. Wenn die übergeordnete Einheit nicht geöffnet ist, werfen Sie einfach den Stapel weg. Wenn der pUU-Parameter nicht NULL ist, sollten alle geöffneten übergeordneten Einheiten geöffnet bleiben.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile ocidl.h

Weitere Informationen

IOleParentUndoUnit::FindUnit

IOleUndoManager

IOleUndoManager::Close