Administering Profiles and Message Services
Published: July 16, 2012
Profile and message service administration can involve creating new profiles, deleting old profiles, and modifying the contents of existing profiles by changing the message services and service providers contained within them. Not all clients support profile and message service administration as standard features. Some clients have nothing more to do with profiles than allow their users to select one at logon time.
If you support profile or message service administration, chances are you will use the following interfaces that are implemented by MAPI:
IMsgServiceAdmin : IUnknown to administer a message service in a profile, accessible through either IMAPISession::AdminServices or IProfAdmin::AdminServices. Messaging clients typically call IMAPISession while configuration clients, or clients that do not send or receive messages, call IProfAdmin. Whenever possible, call the IProfAdmin method because it does not cause the message service to be started. For more information about using the IMsgServiceAdmin interface, see the following topics: Configuring a Message Service, Copying a Message Service, and Deleting a Message Service.
IProfAdmin : IUnknown to administer a profile, accessible through the MAPIAdminProfiles function. For more information about using the IProfAdmin interface, see the following topics: Creating a Profile by Using Custom Code, Copying a Profile, Deleting a Profile, Finding a Profile Name, and Setting a Default Profile.
IProfSect : IMAPIProp to maintain the properties in a profile section, accessible through the IMAPISession::OpenProfileSection or IProviderAdmin::OpenProfileSection method. For more information about profile sections, see MAPI Profiles.
IProviderAdmin : IUnknown to administer the service providers in a message service, accessible through IMsgServiceAdmin::AdminProviders. For more information about using the IProviderAdmin interface, see Adding or Deleting Providers in a Message Service.
Be careful in your support of profile and message service administration. There are no safeguards to protect against adversely modifying a profile that is in use. MAPI can prevent you from deleting a profile in use, but cannot prevent you from deleting every message service in it. If you delete every message service in a profile, all of the service providers in these services will stop thereby causing unpredictable results to occur.