Нормальное состояние
Область применения: Outlook 2013 | Outlook 2016
В обычном состоянии объект формы тратит большую часть своего времени, ожидая, пока клиентские приложения инициируют действие, например сохранение изменений или закрытие формы. В следующей таблице описаны допустимые переходы из обычного состояния.
Метод IPersistMessage | Действие | Новое состояние |
---|---|---|
IPersistMessage::Save(pMessage == NULL, fSameAsLoad == TRUE) -или- IPersistMessage::Save(pMessage != NULL, fSameAsLoad == FALSE) |
Рекурсивно сохраните все внедренные объекты OLE, которые были изменены. Сохраните данные сообщения обратно в объект message. Сохраните флаг fSameAsLoad для последующего использования в состоянии NoScribble . | NoScribble |
IPersistMessage::Save(pMessage != NULL, fSameAsLoad == TRUE) |
Это то же самое, что и в предыдущем случае, за исключением того, что этот вызов Save используется при нехватке памяти и не должен завершать ошибку из-за нехватки памяти. | NoScribble |
IPersistMessage::HandsOffMessage |
Рекурсивно вызовите метод HandsOffMessage во внедренных сообщениях или метод OLE IPersistStorage::HandsOffStorage во внедренных объектах OLE. Отпустите объект message и все внедренные сообщения или объекты. |
HandsOffFromNormal |
IPersistMessage::SaveCompleted, IPersistMessage::InitNew или IPersistMessage::Load |
Задайте для последней ошибки значение и верните E_UNEXPECTED. | Normal |
IPersistMessage::GetLastError |
Возвращает последнюю ошибку. | Normal |
Другие методы IPersistMessage: методы IUnknown или методы из других интерфейсов |
Реализуйте, как описано в документации по интерфейсу IPersistMessage: IUnknown . | Normal |