Поделиться через


Метод IOleUndoUnit::D o (ocidl.h)

Указывает блоку отмены выполнить свое действие. Обратите внимание, что если он содержит дочерние единицы отмены, он также должен вызывать их методы Do.

Синтаксис

HRESULT Do(
  [in] IOleUndoManager *pUndoManager
);

Параметры

[in] pUndoManager

Указатель на диспетчер отмены. См. раздел IOleUndoManager.

Возвращаемое значение

Этот метод возвращает значение S_OK при успешном завершении.

Комментарии

Подразделение отмены отвечает за выполнение своих действий. Выполнение собственного действия отмены приводит к другому действию, которое может быть отменено. Однако если pUndoManager имеет значение NULL, блок отмены должен выполнить действие отмены, но не должен пытаться поместить что-либо в стек повтора или отмены.

Если pUndoManager не имеет значение NULL, то единица требуется для того, чтобы поместить соответствующую единицу в стек повтора или отмены. В результате этот метод либо перемещается в стек повтора или отмены, либо создает новую единицу отмены и добавляет ее в соответствующий стек. После создания нового блока отмены этот блок отмены вызывает IOleUndoManager::Open или IOleUndoManager::Add. Диспетчер отмены поместит новую единицу отмены в стек отмены или повтора в зависимости от текущего состояния.

Родительская единица должна передать своим дочерним элементам тот же диспетчер отмены, возможно , null, который был предоставлен родительскому элементу. Если pUndoManager имеет значение NULL , это допустимо, чтобы открывать родительский блок в стеке повтора или отмены, если он не зафиксирован. Заблокированная родительская единица гарантирует, что дочерними единицами ничего не добавляется в стек.

Если этот блок отмены является родительским, он должен поместить себя в стек повтора или отмены перед вызовом метода Do для его дочерних элементов.

После вызова этого метода диспетчер отмены должен освободить блок отмены.

Примечания для разработчиков

Стратегии обработки ошибок для единиц отмены см. в интерфейсе IOleUndoManager . Стратегия обработки ошибок влияет на реализацию этого метода, особенно для родительских единиц.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header ocidl.h

См. также раздел

IOleUndoManager::Add

IOleUndoManager::Open

IOleUndoUnit