IMAPIForm::ShutdownForm
Hace referencia a: Outlook 2013 | Outlook 2016
Cierra el formulario.
HRESULT ShutdownForm(
ULONG ulSaveOptions
);
Parameters
ulSaveOptions
[in] Valor que controla cómo o si los datos del formulario se guardan antes de que se cierre el formulario. Puede establecer uno de los siguientes indicadores:
SAVEOPTS_NOSAVE
No se deben guardar los datos del formulario.
SAVEOPTS_PROMPTSAVE
Se debe pedir al usuario que guarde los datos modificados en el formulario.
SAVEOPTS_SAVEIFDIRTY
Los datos del formulario se deben guardar si han cambiado desde el último guardado. Si no se muestra ninguna interfaz de usuario, el formulario puede cambiar opcionalmente a mediante la funcionalidad de la opción SAVEOPTS_NOSAVE.
Valor devuelto
S_OK
El formulario se ha cerrado.
E_UNEXPECTED
El formulario ya se cerró mediante una llamada previa a ShutdownForm.
Comentarios
Los visores de formularios llaman al método IMAPIForm::ShutdownForm para cerrar un formulario.
Notas a los implementadores
Realice las siguientes tareas en la implementación de ShutdownForm:
Compruebe que un visor no haya llamado ya a ShutdownForm y devuelva E_UNEXPECTED si lo ha hecho. Aunque esto es poco probable, debe comprobarlo.
Llame al método IUnknown::AddRef del formulario para que el almacenamiento del formulario y las estructuras de datos internas permanezcan disponibles hasta que finalice el procesamiento.
Determine si hay cambios no guardados en los datos del formulario. Guarde los datos no guardados según cómo se establezca el parámetro ulSaveOptions llamando al método IMAPIMessageSite::SaveMessage del visor.
Destruya la ventana de la interfaz de usuario del formulario.
Libere los objetos de sitio de mensajes y mensajes del formulario llamando a sus métodos IUnknown::Release .
Notifique a todos los visores registrados el apagado pendiente llamando a sus métodos IMAPIViewAdviseSink::OnShutdown .
Llame al método IMAPIViewContext::SetAdviseSink para cancelar el registro del formulario para la notificación estableciendo el puntero del receptor advise en null.
Llame a la función MAPIFreeBuffer para liberar la memoria de las propiedades del formulario.
Llame al método IUnknown::Release del formulario, que coincide con la llamada a AddRef realizada en el paso 2.
Devuelve S_OK.
Nota:
Una vez completadas estas acciones, los únicos métodos válidos en el objeto de formulario a los que se puede llamar son los de la interfaz IUnknown .
Notas para los llamadores
Cuando se devuelve ShutdownForm , independientemente de si devuelve un error, libere el formulario llamando a su método IUnknown::Release . Puede omitir de forma segura los errores devueltos por ShutdownForm.
Vea también
IMAPIViewAdviseSink::OnShutdown