Skip to content

Latest commit

 

History

History
72 lines (38 loc) · 3.2 KB

shutting-down-a-service-provider.md

File metadata and controls

72 lines (38 loc) · 3.2 KB
title description manager ms.date ms.audience ms.localizationpriority api_type ms.assetid
Shutting Down a Service Provider
Outlines MAPI-called methods when a client calls the IMAPISession::Logoff method to end the session and shut down all active service providers.
lindalu
12/07/2015
Developer
medium
COM
e518830b-0aaa-4ce4-a85a-07e4f00750a9

Shutting Down a Service Provider

Applies to: Outlook 2013 | Outlook 2016

When a client calls the IMAPISession::Logoff method to end the session and shut down all active service providers, MAPI in turn calls the following methods:

These methods have similar implementations. The main tasks that a logoff method performs are as follows:

  • Releasing all open objects, including subobjects and status objects.

  • Calling the support object's IUnknown::Release method to decrement its reference count.

  • Removing all of your provider's registered MAPIUID structures.

  • Removing your provider's row in the status table.

  • Performing any tasks that relate to cleaning up resources, such as the following:

    • Terminating a connection with a remote server.

    • Decrementing the reference count on the logon object.

    • Removing the logon object from the list of logon objects that your provider stores.

    • In debug mode, issuing traces to locate objects that have leaked memory.

When your logoff method returns, MAPI calls the following:

  • Your logon object's IUnknown::Release method.

  • Your provider object's Shutdown method to perform any final cleanup tasks. Depending on the type of your provider, one of the following methods is called:

  • Your provider object's IUnknown::Release method.

If your provider is a message store, a client call to IMsgStore::StoreLogoff will also initiate the shutdown process. StoreLogoff shuts down one particular message store provider and has no effect on the session. Only a message store provider can be shut down with this method; there is no explicit way to shut down a particular address book or transport provider. For information about how to respond to a StoreLogoff call, see Shutting Down a Message Store Provider.

Your provider's DLL will be unloaded when MAPI calls the Win32 API function FreeLibrary, a call that is made after the last active client has called MAPIUninitialize. By this time, your service provider will have finished shutting down.

See also

MAPI Service Providers