Platform SDK: MAPI

IMAPIStatus : IMAPIProp

MAPI implements the IMAPIStatus interface to provide status information about the MAPI subsystem, the integrated address book and the MAPI spooler. A service provider implements IMAPIStatus to supply information about its own status.

Quick Info

Header file: MAPIDEFS.H
Exposed by: Status objects
Implemented by: Service providers and MAPI
Called by: Client applications
Interface identifier: IID_IMAPIStatus
Pointer type: LPMAPISTATUS
Transaction model: Nontransacted

Vtable Order

ValidateState Confirms the external status information available for the MAPI resource or the service provider. This method is supported in all status objects.
SettingsDialog Displays a property sheet enabling the user to change a service provider's configuration. This method is not supported in status objects implemented by MAPI.
ChangePassword Modifies a service provider's password without displaying a user interface. This method is optionally supported in status objects implemented by service providers.
FlushQueues Forces all messages waiting to be sent or received to be immediately uploaded or downloaded. This method is supported by the MAPI spooler status object and status objects implemented by transport providers.

Required properties Access
PR_DISPLAY_NAME Read/write
PR_PROVIDER_DISPLAY Read/write
PR_PROVIDER_DLL_NAME Read-only
PR_RESOURCE_FLAGS Read-only
PR_RESOURCE_METHODS Read-only
PR_RESOURCE_TYPE Read-only
PR_STATUS_CODE Read-only

Remarks

The status objects implemented by MAPI support the following methods:

Status object Supported methods
MAPI subsystem ValidateState only
MAPI address book ValidateState only
MAPI spooler ValidateState and FlushQueues

The status objects implemented by MAPI are required to have a read-only version of the methods of the IMAPIProp interface and support the IMAPIStatus::ValidateState method. Transport providers are strongly recommended to also support FlushQueues. All providers are encouraged to support SettingsDialog and support for ChangePassword is optional.

Clients use status objects to perform configuration and to learn about the state of the session. They access a status object by calling the OpenStatusEntry method of a service provider logon object or IMAPISession::GetStatusTable to retrieve the status object.