BUG: CDO (1.21) with #import Causes Incorrect HRESULT Error Code Values

This article has been archived. It is offered "as is" and will no longer be updated.
When using Collaboration Data Objects (CDO 1.21) by means of #import, the error code returned in _com_error is not correct. For example, error MAPI_E_AMBIGUOUS_RECIP, the correct error is x80040700, but _com_error::Error returns 0x80040ce8 instead.
CDO (1.21) erroneously fills both the wCode and sCode fields in the EXCEPINFO structure. The documentation for EXCEPINFO structure states that either wCode field or Scode field would be filled, but not both fields.
To determine the correct HRESULT value, examine the error code mapped into the _com_error::WCode data member. Convert this value to decimal, and look up the low-order word + 1000 decimal value in the table which follows.
   HRESULT	     Low-order	Warning or error code value    [VB4 error   word   value] 	     + 1000	   		(error code constants available only in   (hexadecimal) (decimal)	32-bit type libraries)   &H00040203  	1515  	CdoW_NO_SERVICE     &H00040380  	1896  	CdoW_ERRORS_RETURNED     &H00040481  	2153  	CdoW_POSITION_CHANGED     &H00040482  	2154 	CdoW_APPROX_COUNT     &H00040580  	2408  	CdoW_CANCEL_MESSAGE     &H00040680  	2664  	CdoW_PARTIAL_COMPLETION     &H80004002  	17386  	CdoE_INTERFACE_NOT_SUPPORTED     &H80004005  	17389  	CdoE_CALL_FAILED     &H80040102  	1258  	CdoE_NO_SUPPORT     &H80040103  	1259  	CdoE_BAD_CHARWIDTH     &H80040105  	1261  	CdoE_STRING_TOO_LONG     &H80040106  	1262  	CdoE_UNKNOWN_FLAGS     &H80040107  	1263  	CdoE_INVALID_ENTRYID     &H80040108  	1264  	CdoE_INVALID_OBJECT     &H80040109  	1265  	CdoE_OBJECT_CHANGED     &H8004010A  	1266  	CdoE_OBJECT_DELETED     &H8004010B  	1267  	CdoE_BUSY     &H8004010D  	1269  	CdoE_NOT_ENOUGH_DISK     &H8004010E  	1270  	CdoE_NOT_ENOUGH_RESOURCES     &H8004010F  	1271  	CdoE_NOT_FOUND     &H80040110  	1272  	CdoE_VERSION     &H80040111  	1273  	CdoE_LOGON_FAILED     &H80040112  	1274  	CdoE_SESSION_LIMIT     &H80040113  	1275  	CdoE_USER_CANCEL     &H80040114  	1276  	CdoE_UNABLE_TO_ABORT     &H80040115  	1277  	CdoE_NETWORK_ERROR     &H80040116  	1278  	CdoE_DISK_ERROR     &H80040117  	1279  	CdoE_TOO_COMPLEX     &H80040118  	1280  	CdoE_BAD_COLUMN     &H80040119  	1281  	CdoE_EXTENDED_ERROR     &H8004011A  	1282  	CdoE_COMPUTED     &H8004011B  	1283  	CdoE_CORRUPT_DATA     &H8004011C  	1284  	CdoE_UNCONFIGURED     &H8004011D  	1285  	CdoE_FAILONEPROVIDER     &H8004011E  	1286  	CdoE_UNKNOWN_CPID     &H8004011F  	1287  	CdoE_UNKNOWN_LCID     &H80040120  	1288  	CdoE_PASSWORD_CHANGE_REQUIRED     &H80040121  	1289  	CdoE_PASSWORD_EXPIRED     &H80040122  	1290  	CdoE_INVALID_WORKSTATION_ACCOUNT     &H80040123  	1291  	CdoE_INVALID_ACCESS_TIME     &H80040124  	1292  	CdoE_ACCOUNT_DISABLED     &H80040200  	1512  	CdoE_END_OF_SESSION     &H80040201  	1513  	CdoE_UNKNOWN_ENTRYID     &H80040202  	1514  	CdoE_BAD_VALUE     &H80040302  	1770  	CdoE_INVALID_TYPE     &H80040303  	1771  	CdoE_TYPE_NO_SUPPORT     &H80040304  	1772  	CdoE_UNEXPECTED_TYPE     &H80040305  	1773  	CdoE_TOO_BIG     &H80040306  	1774  	CdoE_DECLINE_COPY     &H80040307  	1775  	CdoE_UNEXPECTED_ID     &H80040400  	2024  	CdoE_UNABLE_TO_COMPLETE     &H80040401  	2025  	CdoE_TIMEOUT     &H80040402  	2026  	CdoE_TABLE_EMPTY     &H80040403  	2027  	CdoE_TABLE_TOO_BIG     &H80040405  	2029  	CdoE_INVALID_BOOKMARK     &H80040500  	2280  	CdoE_WAIT     &H80040501  	2281  	CdoE_CANCEL     &H80040502 	2282  	CdoE_NOT_ME     &H80040600  	2536  	CdoE_CORRUPT_STORE     &H80040601  	2537  	CdoE_NOT_IN_QUEUE     &H80040602  	2538  	CdoE_NO_SUPPRESS     &H80040604  	2540  	CdoE_COLLISION     &H80040605  	2541  	CdoE_NOT_INITIALIZED     &H80040606  	2542  	CdoE_NON_STANDARD     &H80040607  	2543  	CdoE_NO_RECIPIENTS     &H80040608  	2544  	CdoE_SUBMITTED     &H80040609  	2545  	CdoE_HAS_FOLDERS     &H8004060A  	2546  	CdoE_HAS_MESSAGES     &H8004060B  	2547  	CdoE_FOLDER_CYCLE     &H80040700  	2792  	CdoE_AMBIGUOUS_RECIP     &H80070005  	1005  	CdoE_NO_ACCESS     &H8007000E  	1014  	CdoE_NOT_ENOUGH_MEMORY     &H80070057  	1087  	CdoE_INVALID_PARAMETER 				
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.
More information
As noted in the CDO (1.21) documentation in MSDN, the low-order word + 1000 decimal is equal to the decimal value of _com_error::WCode data member.

For more information on CDO (1.21) or MAPI error codes, please refer to the
MSDN, Platform SDK\Messaging and Collaboration Services\CD0 1.21\Appendixes\Error Codes

Article ID: 235361 - Last Review: 01/11/2015 02:58:58 - Revision: 2.0

  • kbnosurvey kbarchive kbbug kbmsg kbpending KB235361
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)