Platform SDK: MAPI

IMAPISupport : IUnknown

The IMAPISupport interface provides implementations for tasks that are commonly performed by service providers and message service entry point functions. Service providers receive a pointer to their support object when MAPI calls their provider object's logon method; message services receive their support object pointer in the call to their entry point function.

Quick Info

Header file: MAPISPI.H
Exposed by: Support objects
Implemented by: MAPI
Called by: Service providers
Interface identifier: IID_IMAPISup
Pointer type: LPMAPISUP

Vtable Order

GetLastError Returns a MAPIERROR structure containing information about the previous support object error.
GetMemAllocRoutines Retrieves the addresses of the MAPI memory allocation and deallocation functions: MAPIAllocateBuffer, MAPIAllocateMore, and MAPIFreeBuffer.
Subscribe Registers an advise sink to receive notifications through MAPI.
Unsubscribe Cancels the responsibility for sending notifications that was previously established with a call to the IMAPISupport::Subscribe method.
Notify Sends a notification of a specified event to an advise source that originally registered for the notification through IMAPISupport::Subscribe.
ModifyStatusRow Modifies the status table by adding a new row or modifying an existing row.
OpenProfileSection Opens a section of the current profile and returns an IProfSect pointer for further access
RegisterPreprocessor Registers a transport provider's preprocessor function, a function that conforms to the PreprocessMessage prototype.
NewUID Creates a new MAPIUID structure to be used as a unique identifier.
MakeInvalid Marks an object as unusable.
SpoolerYield Gives control of the CPU to the MAPI spooler so that it can perform any tasks it deems necessary.
SpoolerNotify Notifies the MAPI spooler of a change in status or a request for service.
CreateOneOff Creates an entry identifier for a one-off address.
SetProviderUID Registers a MAPIUID structure that uniquely represents the service provider.
CompareEntryIDs Compares two entry identifiers to determine if they refer to the same object.
OpenTemplateID Opens a recipient entry in a foreign address book provider.
OpenEntry Opens an object and returns an interface pointer for further access.
GetOneOffTable Returns a pointer to the MAPI one-off table — a list of templates supported by all address book providers for creating new recipients.
Address Displays the common address dialog box.
Details Displays a modal dialog box showing details about a particular address book entry.
NewEntry Adds a new recipient directly to an address book container or to the recipient list of an outgoing message.
DoConfigPropsheet Displays a configuration property sheet.
CopyMessages Copies or moves messages from one folder to another folder.
CopyFolder Copies or moves a folder from its current parent folder to another parent folder.
DoCopyTo Copies or moves all properties of one object, except for specifically excluded properties, to another object.
DoCopyProps Copies or moves one or more properties of an object to another object.
DoProgressDialog Retrieves a progress object for displaying a progress indicator.
ReadReceipt Generates a read or nonread report for a message.
PrepareSubmit Prepares a message for submission to the MAPI spooler.
ExpandRecips Completes a message's recipient list, expanding particular distribution lists.
DoSentMail Performs processing on a sent message.
OpenAddressBook Provides access to the address book.
CompleteMsg Performs postprocessing on a message.
StoreLogoffTransports Requests the orderly release of a message store.
StatusRecips Generates delivery and nondelivery reports.
WrapStoreEntryID Converts a message store's internal entry identifier to an entry identifier in the MAPI standard format.
ModifyProfile Makes the profile section for a message store provider permanent.
IStorageFromStream Implements a storage object to access a stream.
GetSvcConfigSupportObj Creates a message service support object.

Remarks

There are four different support objects, one for address book, message store, and transport providers and one for message services. Service providers and message services call the methods in their support objects as part of their implementations of other interface methods. Each different support object has complete implementations of the methods that are applicable to its caller; the methods that are not applicable return MAPI_E_NO_SUPPORT.

Address book provider support objects have implementations for the following methods:


Address CompareEntryIDs CreateOneOff
Details DoConfigPropsheet DoProgressDialog
GetLastError GetMemAllocRoutines GetOneOffTable
IStorageFromStream GetSvcConfigSupportObj MakeInvalid
ModifyStatusRow NewEntry NewUID
Notify OpenAddressBook OpenEntry
OpenProfileSection OpenTemplateID SetProviderUID
Subscribe Unsubscribe WrapStoreEntryID

Message store provider support objects have implementations for the following methods:


CompareEntryIDs CompleteMsg CopyFolder
CopyMessages CreateOneOff DoCopyProps
DoCopyTo DoConfigPropsheet DoProgressDialog
DoSentMail ExpandRecips GetLastError
GetMemAllocRoutines GetSvcConfigSupportObj MakeInvalid
IStorageFromStream ModifyProfile ModifyStatusRow
NewUID Notify OpenAddressBook
OpenEntry OpenProfileSection PrepareSubmit
ReadReceipt SetProviderUID SpoolerNotify
StoreLogoffTransports Subscribe Unsubscribe
WrapStoreEntryID    

Transport provider support objects have implementations for the following methods:


DoConfigPropsheet CompareEntryIDs CreateOneOff
GetMemAllocRoutines GetSvcConfigSupportObj GetLastError
IStorageFromStream MakeInvalid ModifyStatusRow
OpenAddressBook RegisterPreprocessor NewUID
Notify OpenProfileSection OpenEntry
StatusRecips SpoolerNotify SpoolerYield
WrapStoreEntryID Subscribe Unsubscribe

Message service support objects have implementations for the following methods:


DoConfigPropsheet GetLastError
GetMemAllocRoutines GetSvcConfigSupportObj
MakeInvalid NewUID
OpenProfileSection