Метод IOleUndoUnit::OnNextAdd (ocidl.h)
Уведомляет последний модуль отмены в коллекции о том, что была добавлена новая единица.
Синтаксис
HRESULT OnNextAdd();
Возвращаемое значение
Реализации этого метода всегда возвращают S_OK. Тип возвращаемого значения HRESULT используется только для возможности возврата.
Комментарии
Объект может создать блок отмены для действия и добавить его в диспетчер отмены, но может продолжать вставлять в него данные через частные интерфейсы. Когда блок отмены получает вызов этого метода, он сообщает о том, что контекст был изменен, обратно к создаваемому объекту. Затем при создании объекта прекращается вставка данных в блок отмены.
Родительский блок отмены вызывает этот метод в последней добавленной дочерней единице, чтобы уведомить дочернюю единицу о том, что контекст изменился и добавлен новый блок отмены.
Например, этот метод используется для поддержки нечетких действий, таких как ввод, которые не имеют четкой точки завершения, но вместо этого завершаются только в том случае, если происходит что-то еще.
Этот метод не всегда может вызываться, если диспетчер отмены или открытый родительский блок решили отменить эту единицу, вызвав вместо этого метод IUnknown::Release . Любое подключение, которое передает данные к блоку отмены в фоновом режиме через частные интерфейсы, не должно быть IUnknown::AddRef для блока отмены.
Примечания для разработчиков
Обратите внимание, что родительские единицы просто делегируют этот метод их последней добавленной дочерней единице. Родительская единица должна прерывать связь через любые закрытые интерфейсы при закрытии. Родительская единица знает, что она закрывается, когда получает S_FALSE от вызова IOleParentUndoUnit::Close.Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | ocidl.h |