Apagar un proveedor de servicios
Hace referencia a: Outlook 2013 | Outlook 2016
Cuando un cliente llama al método IMAPISession::Logoff para finalizar la sesión y apagar todos los proveedores de servicios activos, MAPI a su vez llama a los métodos siguientes:
IABLogon::Logoff para proveedores de libreta de direcciones.
IMSLogon::Logoff para proveedores de almacén de mensajes.
IXPLogon::TransportLogoff para proveedores de transporte.
Estos métodos tienen implementaciones similares. Las tareas principales que realiza un método de cierre de sesión son las siguientes:
Liberar todos los objetos abiertos, incluidos los subobjetos y los objetos de estado.
Llamar al método IUnknown::Release del objeto de soporte técnico para reducir su recuento de referencias.
Quitar todas las estructuras MAPIUID registradas del proveedor.
Quitar la fila del proveedor en la tabla de estado.
Realizar las tareas relacionadas con la limpieza de recursos, como las siguientes:
Terminación de una conexión con un servidor remoto.
Disminuir el recuento de referencias en el objeto de inicio de sesión.
Quitar el objeto de inicio de sesión de la lista de objetos de inicio de sesión que almacena el proveedor.
En el modo de depuración, se emiten seguimientos para buscar objetos que tienen memoria filtrada.
Cuando se devuelve el método de cierre de sesión, MAPI llama a lo siguiente:
Método IUnknown::Release del objeto de inicio de sesión.
Método Shutdown del objeto de proveedor para realizar cualquier tarea de limpieza final. En función del tipo de proveedor, se llama a uno de los métodos siguientes:
IABProvider::Shutdown para proveedores de libreta de direcciones
IMSProvider::Shutdown para proveedores de almacén de mensajes
IXPProvider::Shutdown para proveedores de transporte
Método IUnknown::Release del objeto de proveedor.
Si el proveedor es un almacén de mensajes, una llamada de cliente a IMsgStore::StoreLogoff también iniciará el proceso de apagado. StoreLogoff cierra un proveedor de almacén de mensajes determinado y no tiene ningún efecto en la sesión. Solo se puede apagar un proveedor de almacén de mensajes con este método; no hay ninguna manera explícita de cerrar una libreta de direcciones o un proveedor de transporte determinados. Para obtener información sobre cómo responder a una llamada a StoreLogoff , vea Apagar un proveedor de almacén de mensajes.
El archivo DLL del proveedor se descargará cuando MAPI llame a la función de API de Win32 FreeLibrary, una llamada que se realiza después de que el último cliente activo haya llamado a MAPIUninitialize. En este momento, el proveedor de servicios habrá terminado de apagarse.