IMAPIForm::ShutdownForm
Область применения: Outlook 2013 | Outlook 2016
Закрывает форму.
HRESULT ShutdownForm(
ULONG ulSaveOptions
);
Параметры
ulSaveOptions
[в] Значение типа , определяющее способ сохранения данных в форме перед закрытием формы. Можно задать один из следующих флагов:
SAVEOPTS_NOSAVE
Данные формы не должны сохраняться.
SAVEOPTS_PROMPTSAVE
Пользователю должно быть предложено сохранить все измененные данные в форме.
SAVEOPTS_SAVEIFDIRTY
Данные формы должны быть сохранены, если они изменились с момента последнего сохранения. Если пользовательский интерфейс не отображается, форма может при необходимости переключиться на использование функции для параметра SAVEOPTS_NOSAVE.
Возвращаемое значение
S_OK
Форма закрыта.
E_UNEXPECTED
Форма уже была закрыта до вызова shutdownForm.
Замечания
Средства просмотра форм вызывают метод IMAPIForm::ShutdownForm , чтобы закрыть форму.
Примечания для исполнителей
Выполните следующие задачи в реализации формы завершения работы:
Убедитесь, что средство просмотра еще не вызывало ShutdownForm, и верните E_UNEXPECTED, если оно имеет. Хотя это маловероятно, вы должны проверка.
Вызовите метод IUnknown::AddRef формы, чтобы хранилище формы и всех внутренних структур данных оставалось доступным до завершения обработки.
Определите, есть ли несохраненные изменения в данных формы. Сохранение несохраненных данных в соответствии с настройкой параметра ulSaveOptions путем вызова метода IMAPIMessageSite::SaveMessage средства просмотра.
Уничтожьте окно пользовательского интерфейса формы.
Освободите объекты сайта сообщений и сообщений формы, вызвав их методы IUnknown::Release .
Уведомите всех зарегистрированных пользователей о ожидающем завершении работы, вызвав методы IMAPIViewAdviseSink::OnShutdown .
Вызовите метод IMAPIViewContext::SetAdviseSink , чтобы отменить регистрацию формы для уведомления, установив для указателя приемника рекомендаций значение NULL.
Вызовите функцию MAPIFreeBuffer , чтобы освободить память для свойств формы.
Вызовите метод IUnknown::Release формы, соответствующий вызову AddRef , выполненного на шаге 2.
Возврат S_OK.
Примечание.
После завершения этих действий единственными допустимыми методами в объекте формы, которые можно вызвать, являются методы из интерфейса IUnknown .
Примечания для вызывающих методов
Когда shutdownForm возвращает, независимо от того, возвращает ли она ошибку, отпустите форму, вызвав ее метод IUnknown::Release . Вы можете спокойно игнорировать любые ошибки, возвращаемые ShutdownForm.
См. также
IMAPIViewAdviseSink::OnShutdown