Error Codes

Error Codes

When the CDO Library or the CDO Rendering Library calls MAPI, the desired return value is zero, meaning the call was successful and produced the expected results. MAPI can also return either a warning value or an error value to the CDO libraries. A warning means the call was at least partially successful but may have produced an unexpected result or side effect. An error means the call was not successful. All warning and error return codes are nonzero. Warning values have the high-order bit zero, while error values set it to one.

For the convenience of the Microsoft® Visual Basic® programmer, the CDO libraries define 32-bit type library constants for all relevant warning and error codes. These are provided here in alphabetic and then in numeric order.

A program running on a 16-bit platform cannot use these type library constants. Such a program must test against the low-order word of the constant's value incremented by decimal 1000. For more information on error checking, see Handling Errors.

Note   MAPI returns 32-bit values to Visual Basic for both warnings and errors, but Visual Basic treats the two cases differently. Errors are passed to the CDO libraries as 32-bit codes, while warnings are returned as the sum of decimal 1000 and the low-order word of the warning, even on a 32-bit platform. This means that a partial completion, for example, is returned as &H0680 + 1000, or 2664, instead of &H00040680, the full value of CdoW_PARTIAL_COMPLETION.

To test for a MAPI warning in a Visual Basic program, you can code the decimal value from the following tables directly into your program. Alternatively, if you prefer to use the type constant for improved readability, you can prepare it for comparison by subtracting the &H40000 bit and then adding 1000 decimal. This is equivalent to subtracting decimal 261144 from the constant:

 If Err() = CdoW_PARTIAL_COMPLETION - 261144 Then ... 

Microsoft Visual Basic Scripting Edition (VBScript) and Microsoft® JScript™ do not support any predefined constants. If your application is running as server-side or client-side script, you must use the appropriate hexadecimal or decimal values instead of these type library constants.

The following table lists the return values from MAPI in alphabetic order:

Warning or error code value

(error code constants available only in 32-bit type libraries)

HRESULT [VB4 error value]

(hexadecimal)

Low-order word + 1000

(decimal)

CdoE_ACCOUNT_DISABLED

&H80040124

1292

CdoE_AMBIGUOUS_RECIP

&H80040700

2792

CdoE_BAD_CHARWIDTH

&H80040103

1259

CdoE_BAD_COLUMN

&H80040118

1280

CdoE_BAD_VALUE

&H80040301

1769

CdoE_BUSY

&H8004010B

1267

CdoE_CALL_FAILED

&H80004005

17389

CdoE_CANCEL

&H80040501

2281

CdoE_COLLISION

&H80040604

2540

CdoE_COMPUTED

&H8004011A

1282

CdoE_CORRUPT_DATA

&H8004011B

1283

CdoE_CORRUPT_STORE

&H80040600

2536

CdoE_DECLINE_COPY

&H80040306

1774

CdoE_DISK_ERROR

&H80040116

1278

CdoE_END_OF_SESSION

&H80040200

1512

CdoE_EXTENDED_ERROR

&H80040119

1281

CdoE_FAILONEPROVIDER

&H8004011D

1285

CdoE_FOLDER_CYCLE

&H8004060B

2547

CdoE_HAS_FOLDERS

&H80040609

2545

CdoE_HAS_MESSAGES

&H8004060A

2546

CdoE_INTERFACE_NOT_SUPPORTED

&H80004002

17386

CdoE_INVALID_ACCESS_TIME

&H80040123

1291

CdoE_INVALID_BOOKMARK

&H80040405

2029

CdoE_INVALID_ENTRYID

&H80040107

1263

CdoE_INVALID_OBJECT

&H80040108

1264

CdoE_INVALID_PARAMETER

&H80070057

1087

CdoE_INVALID_TYPE

&H80040302

1770

CdoE_INVALID_WORKSTATION_ACCOUNT

&H80040122

1290

CdoE_LOGON_FAILED

&H80040111

1273

CdoE_MISSING_REQUIRED_COLUMN

&H80040202

1514

CdoE_NETWORK_ERROR

&H80040115

1277

CdoE_NO_ACCESS

&H80070005

1005

CdoE_NO_RECIPIENTS

&H80040607

2543

CdoE_NO_SUPPORT

&H80040102

1258

CdoE_NO_SUPPRESS

&H80040602

2538

CdoE_NON_STANDARD

&H80040606

2542

CdoE_NOT_ENOUGH_DISK

&H8004010D

1269

CdoE_NOT_ENOUGH_MEMORY

&H8007000E

1014

CdoE_NOT_ENOUGH_RESOURCES

&H8004010E

1270

CdoE_NOT_FOUND

&H8004010F

1271

CdoE_NOT_IN_QUEUE

&H80040601

2537

CdoE_NOT_INITIALIZED

&H80040605

2541

CdoE_NOT_ME

&H80040502

2282

CdoE_OBJECT_CHANGED

&H80040109

1265

CdoE_OBJECT_DELETED

&H8004010A

1266

CdoE_PASSWORD_CHANGE_REQUIRED

&H80040120

1288

CdoE_PASSWORD_EXPIRED

&H80040121

1289

CdoE_SESSION_LIMIT

&H80040112

1274

CdoE_STRING_TOO_LONG

&H80040105

1261

CdoE_SUBMITTED

&H80040608

2544

CdoE_TABLE_EMPTY

&H80040402

2026

CdoE_TABLE_TOO_BIG

&H80040403

2027

CdoE_TIMEOUT

&H80040401

2025

CdoE_TOO_BIG

&H80040305

1773

CdoE_TOO_COMPLEX

&H80040117

1279

CdoE_TYPE_NO_SUPPORT

&H80040303

1771

CdoE_UNABLE_TO_ABORT

&H80040114

1276

CdoE_UNABLE_TO_COMPLETE

&H80040400

2024

CdoE_UNCONFIGURED

&H8004011C

1284

CdoE_UNEXPECTED_ID

&H80040307

1775

CdoE_UNEXPECTED_TYPE

&H80040304

1772

CdoE_UNKNOWN_CPID

&H8004011E

1286

CdoE_UNKNOWN_ENTRYID

&H80040201

1513

CdoE_UNKNOWN_FLAGS

&H80040106

1262

CdoE_UNKNOWN_LCID

&H8004011F

1287

CdoE_USER_CANCEL

&H80040113

1275

CdoE_VERSION

&H80040110

1272

CdoE_WAIT

&H80040500

2280

CdoW_APPROX_COUNT

&H00040482

2154

CdoW_CANCEL_MESSAGE

&H00040580

2408

CdoW_ERRORS_RETURNED

&H00040380

1896

CdoW_NO_SERVICE

&H00040203

1515

CdoW_PARTIAL_COMPLETION

&H00040680

2664

CdoW_POSITION_CHANGED

&H00040481

2153

The following table lists the return values from MAPI in numeric order:

HRESULT [VB4 error value]

(hexadecimal)

Low-order word + 1000

(decimal)

Warning or error code value

(error code constants available only in 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_MISSING_REQUIRED_COLUMN

&H80040301

1769

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