Troubleshooting MAPI_NO_SUPPORT Errors
Written by Mike Rede on August 31, 2009There are times you want to use an application that will allow you to retrieve the UID from an IMAP server. The UID is managed on the IMAP server but is not updateable by an IMAP client such as Outlook. However, as an administrator, you might find it useful to be able to read the UID. If the application is written to save the UID then this will give you the capability to perform state comparison based synchronization the next time a login to the IMAP server is performed. The state comparison based synchronization can leverage the UID, message flag and content for its analysis.
Unfortunately, there is the possibility that you will receive errors such as the “MAPI_NO_SUPPORT” error message. This has been known to happen when Outlook makes calls to the GetIDsFromNames function or the GetNamesFromIDs function on an IAttach interface for a secure message such as a signed message or an encrypted message. Outlook will sometimes quit when this occurs.
It is important to understand the mechanics underneath an application that is used to look up information about end users. Especially when looking up the information – such as a UID – can cause a problem.
The IMAPIProp::GetIDsFromNames method can be used to retrieve an array of property tags. These property tags contain identifiers for one or more named properties. IMAPIProp::GetIDsFromNames can be used to create identifiers for new names, retrieve identifiers for specific names and retrieve identifiers for all named properties that are included in the object’s mapping.
Message store providers use these named properties for folder and messages. The MAPI address book, which is similar to a message store in terms of structure, provides access to three types of objects implemented by an address book provider: an address book container object, a distribution list object, and a messaging user object.
Named properties are typically used by message store providers for folders and messages. The problem is that objects, such as messaging users and profile sections, might not support associating names to property identifiers. Instead they return an error such as MAPI_NO_SUPPORT from the call to the GetIDsFromNames method.
The MAPI_NO_SUPPORT error can occur if you are writing a C++ Exchange extension for example, that makes the call to the GetIDsFromNames function or the GetNamesFromIDs function. This was the case while running Outlook 2002 SP2. But if Outlook did not quit, you may still have received the following unrecoverable error message:
MAPI_NO_SUPPORT
“…the behavior occurs only when you are working with new messages.”
The reason why this happened is because the call was not designed to work on secure messages. Named properties are lost during SMIME conversion.
Microsoft supplied a supported hotfix but the hotfix was intended to correct only the problem that was described in the article. It was intended only for systems that were experiencing the specific problem.
You can look for the downloadable hotfix (Article ID: 331057) in the Microsoft Knowledge libraries article section. If a separate service request is needed then it can be created at the Microsoft web site: http://support.microsoft.com/contactus/?ws=support.
You can verify that your hotfix has been installed by checking to see if the global version of the fix has the document attributes (or later) as listed below.
time Time Version Size document name
19-Sep-2002 23:23 10.0.4517.0 105,032 Envelope.dll
12-Oct-2002 00:14 10.0.4608.0 346,696 Exsec32.dll
09-Aug-2002 05:22 10.0.4406.0 137,800 Impmail.dll
13-Sep-2002 05:52 10.0.4510.0 539,208 Outlcm.dll
12-Oct-2002 00:14 10.0.4608.0 6,314,568 Outllib.dll
13-Sep-2002 05:52 10.0.4510.0 92,744 Outlmime.dll
13-Sep-2002 05:52 10.0.4510.0 47,688 Outlook.exe
09-Aug-2002 05:22 10.0.4406.0 121,416 Outlph.dll
If you’ve already installed Service pack 3 for Office XP then you can rest assured that the update has been installed. Again, if you need to check for additional instructions about the latest service pack for Office XP, then you should review the following article in the MS Knowledge Base: http://support.microsoft.com/kb/307841/.
An older problem was related to the elements of the Windows Messaging subsystem. This problem occurred when you called the Logon method of the CDO (1.x) Session object on a system running Windows 95 or Windows 98. The attempted logon produced a MAPI_E_NO_SUPPORT error message.
The error happened because one or more elements of the Windows Messaging Subsystem installed on the computer were out of date. To fix the MAPI_E_NO_SUPPORT error you were expected to try uninstalling and then reinstalling the existing Windows Messaging Subsystem. This subsystem was most likely a messaging client such as Microsoft Outlook.
To fix this error you could also edit the registry. Select Start in the lower left hand corner, choose Run and then type in “regedit” to start the registry editor – but use extreme caution. And always make a backup before you make any changes as you need a known working state that you can roll back to should you make a mistake.
Search the registry for one or more of the following keys and then delete them. Double check to make sure they are keys related to messaging.
HKEY_CLASSES_ROOTActMsg.Session
HKEY_CLASSES_ROOTCLSID{3FA7DEB3-6438-101B-ACC1-00AA00423326}
HKEY_CLASSES_ROOTMAPI.Folder
HKEY_CLASSES_ROOTMAPI.Message
HKEY_CLASSES_ROOTMAPI.Session
HKEY_CLASSES_ROOTMAPI.Session.1
HKEY_CLASSES_ROOTTypeLib{3FA7DEB3-6438-101B-ACC1-00AA00423326}
HKEY_LOCAL_MACHINESOFTWAREClassesActMsg.Session
Next, install the latest versions of Microsoft Exchange server and Microsoft Outlook Client. You should now be able to run your application and login without getting the MAPI_E_NO_SUPPORT error message.
Again, if you are not familiar with the registry editor do not make any changes. Seek expert help with regedit. This is not an area for having mistakes.
Posted in Exchange server, email management | No Comments »


