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


Метод IOleUndoManager::D iscardFrom (ocidl.h)

Указывает диспетчеру отмены отменить указанную единицу отмены и все единицы отмены под ним в стеке отмены или повтора.

Синтаксис

HRESULT DiscardFrom(
  [in] IOleUndoUnit *pUU
);

Параметры

[in] pUU

Указатель IOleUndoUnit на блок отмены, который требуется отменить. Этот параметр может иметь значение NULL , чтобы отменить весь стек отмены или повтора. Если параметр не равен NULL, стек не будет удален.

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

Этот метод возвращает значение S_OK при успешном завершении. Другие возможные возвращаемые значения включают следующее.

Код возврата Описание
E_INVALIDARG
Указанная единица отмены не найдена в стеках.
E_UNEXPECTED
Диспетчер отмены отключен.

Комментарии

Диспетчер отмены сначала ищет стек отмены для заданного блока, а если он не найден, выполняет поиск стека повторов. После его обнаружения данная единица и все остальные элементы в одном стеке удаляются. Блок отмены может быть дочерним элементом родительского блока, содержащегося в диспетчере отмены, как определено путем вызова IOleParentUndoUnit::FindUnit. Если это дочерняя единица, корневая единица, содержащая данную единицу, и все единицы под ним в соответствующем стеке удаляются.

Если существует открытая родительская единица и вызывается метод DiscardFrom и параметр pUU имеет значение NULL, диспетчер отмены должен немедленно освободить и удалить открытый родительский блок, не вызывая IOleUndoManager::Close . Когда объект, открывший родительский блок, пытается закрыть его, IOleUndoManager::Close вернет S_FALSE. Если родительская единица открыта, выкиньте ее и удалите стек. Если родительская единица не открыта, просто выбросьте стек. Если параметр pUU не имеет значения NULL, все открытые родительские единицы следует оставить открытыми.

Требования

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

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

IOleParentUndoUnit::FindUnit

IOleUndoManager

IOleUndoManager::Close