Platform SDK: MAPI

Status Objects

Status objects report information about a MAPI resource: a service provider, the MAPI subsystem, the MAPI spooler, or the address book.

There is a status object supplying information about each individual service provider in the current profile. MAPI is responsible for implementing status objects for the subsystem, the MAPI spooler, and the address book. The subsystem status object supplies global information. The MAPI spooler status object supplies information about the status of all transport providers currently open. The status object for the integrated address book supplies the status of all address book providers currently operating.

Every status object is included in the status table, a table maintained by MAPI that provides clients with all of the status information for the session. Clients can access a particular status object either through the table or, for a service provider, through its logon object. For example, to access an address book provider's status object, a client can call IABLogon::OpenStatusEntry.

Clients can use status objects to:

Every status object implements the IMAPIStatus interface. However, not every status object fully supports every IMAPIStatus method. Because there is variation in the methods that are supported by a status object, clients need to learn about a particular status object before they can use it. Status objects are required to publish information about their features in the following three properties:

PR_RESOURCE_METHODS

PR_RESOURCE_TYPE

PR_RESOURCE FLAGS

For more information about the status table, see Status Table. For more information about implementing a status object, see Implementing a Status Object. For more information about using a status object, see Using the Status Table and Status Objects.