2.4 Error Codes
When encoded in ROP buffers, all error codes are transmitted as integers in little-endian format. Error codes are presented in the following table.
Error code name |
Description (alternate names) |
Numeric value (hex) |
---|---|---|
Success |
The operation succeeded. (S_OK, SUCCESS_SUCCESS) |
0x00000000, %x00.00.00.00 |
GeneralFailure |
The operation failed for an unspecified reason. (E_FAIL, MAPI_E_CALL_FAILED, ecError, SYNC_E_ERROR) |
0x80004005, %x05.40.00.80 |
OutOfMemory |
Not enough memory was available to complete the operation. (E_NOMEMORY, MAPI_E_NOT_ENOUGH_MEMORY, ecMAPIOOM, ecPropSize) |
0x8007000E, %x0E.00.07.80 |
InvalidParameter |
An invalid parameter was passed to a remote procedure call (RPC). (E_INVALIDARG, MAPI_E_INVALID_PARAMETER, ecInvalidParam, ecInvalidSession, ecBadBuffer, SYNC_E_INVALID_PARAMETER) |
0x80070057, %x57.00.07.80 |
NoInterface |
The requested interface is not supported. (E_NOINTERFACE, MAPI_E_INTERFACE_NOT_SUPPORTED, ecinterfacenotsupported) |
0x80004002 %x02.40.00.80 |
AccessDenied |
The caller does not have sufficient access rights to perform the operation. (E_ACCESSDENIED, MAPI_E_NO_ACCESS, ecaccessdenied, ecpropsecurityviolation) |
0x80070005, %x05.00.07.80 |
StorageInvalidFunction |
The server was unable to perform the requested operation. (STG_E_INVALIDFUNCTION) |
0x80030001 %x01.00.03.80 |
StorageAccessDenied |
The caller does not have sufficient access rights to perform the operation. (STG_E_ACCESSDENIED) |
0x80030005 %x05.00.03.80 |
StorageInsufficientMemory |
There is insufficient memory available to complete the operation. (STG_E_INSUFFICIENTMEMORY) |
0x80030008 %x08.00.03.80 |
StorageInvalidPointer |
An invalid pointer was passed to the remote procedure call. (STG_E_INVALIDPOINTER) |
0x80030009 %x09.00.03.80 |
StorageReadFault |
A disk error occurred during a read operation. (STG_E_READFAULT) |
0x8003001E %x1E.00.03.80 |
StorageLockViolation |
A lock violation has occurred. (STG_E_LOCKVIOLATION) |
0x80030021 %x21.00.03.80 |
StorageInvalidParameter |
An invalid parameter was passed to the remote procedure call. (STG_E_INVALIDPARAMETER) |
0x80030057 %x57.00.03.80 |
StreamSizeError |
There is insufficient disk space to complete the operation. (ecStreamSizeError, STG_E_MEDIUMFULL) |
0x80030070 %x70.00.03.80 |
StorageInvalidFlag |
An invalid flag was passed to a remote procedure call. (STG_E_INVALIDFLAG) |
0x800300FF %xFF.00.03.80 |
StorageCannotSave |
A stream could not be saved. (STG_E_CANTSAVE) |
0x80030103 %x03.01.03.80 |
NotSupported |
The server does not support this method call. (MAPI_E_NO_SUPPORT, ecNotSupported, ecNotImplemented) |
0x80040102, %x02.01.04.80 |
InvalidCharacterWidth |
Unicode characters were requested when only 8-bit characters are supported, or vice versa. (MAPI_E_BAD_CHARWIDTH, ecBadCharwidth) |
0x80040103, %x03.01.04.80 |
StringTooLong |
In the context of this method call, a string exceeds the maximum permitted length. (MAPI_E_STRING_TOO_LONG, ecStringTooLarge) |
0x80040105, %x05.01.04.80 |
InvalidFlag |
An unrecognized flag bit was passed to a method call. (MAPI_E_UNKNOWN_FLAGS, ecUnknownFlags, SYNC_E_UNKNOWN_FLAGS) |
0x80040106, %x06.01.04.80 |
InvalidEntryID |
An incorrectly formatted EntryID was passed to a method call. (MAPI_E_INVALID_ENTRYID, ecInvalidEntryId) |
0x80040107, %x07.01.04.80 |
InvalidObject |
A method call was made using a reference to an object that has been destroyed or is not in a viable state. (MAPI_E_INVALID_OBJECT, ecInvalidObject) |
0x80040108, %x08.01.04.80 |
ObjectChanged |
An attempt to commit changes failed because the object was changed separately. (MAPI_E_OBJECT_CHANGED, ecObjectModified) |
0x80040109, %x09.01.04.80 |
ObjectDeleted |
An operation failed because the object was deleted separately. (MAPI_E_OBJECT_DELETED, ecObjectDeleted) |
0x8004010A, %x0A.01.04.80 |
ServerBusy |
A table operation failed because a separate operation was in progress at the same time. (MAPI_E_BUSY, ecBusy) |
0x8004010B, %x0B.01.04.80 |
OutOfDisk |
Not enough disk space was available to complete the operation. (MAPI_E_NOT_ENOUGH_DISK, ecDiskFull) |
0x8004010D, %x0D.01.04.80 |
OutOfResources |
Not enough of an unspecified resource was available to complete the operation. (MAPI_E_NOT_ENOUGH_RESOURCES, ecInsufficientResrc) |
0x8004010E, %x0E.01.04.80 |
NotFound |
The requested object could not be found at the server. (MAPI_E_NOT_FOUND, ecNotFound, ecAttachNotFound, ecUnknownRecip, ecPropNotExistent) |
0x8004010F, %x0F.01.04.80 |
VersionMismatch |
Client and server versions are not compatible. (MAPI_E_VERSION, ecVersionMismatch, ecVersion) |
0x80040110, %x10.01.04.80 |
LogonFailed |
A client was unable to log on to the server. (MAPI_E_LOGON_FAILED, ecLoginFailure) |
0x80040111, %x11.01.04.80 |
TooManySessions |
A server or service is unable to create any more sessions. (MAPI_E_SESSION_LIMIT, ecTooManySessions) |
0x80040112, %x12.01.04.80 |
UserCanceled |
An operation failed because a user cancelled it. (MAPI_E_USER_CANCEL, ecUserAbort) |
0x80040113, %x13.01.04.80 |
AbortFailed |
A RopAbort ([MS-OXCROPS] section 2.2.5.5) or RopAbortSubmit ([MS-OXCROPS] section 2.2.7.2) ROP request was unsuccessful. (MAPI_E_UNABLE_TO_ABORT, ecUnableToAbort) |
0x80040114, %x14.01.04.80 |
NetworkError |
An operation was unsuccessful because of a problem with network operations or services. (MAPI_E_NETWORK_ERROR, ecNetwork) |
0x80040115, %x15.01.04.80 |
DiskError |
There was a problem writing to or reading from disk. (MAPI_E_DISK_ERROR, ecWriteFault, ecReadFault) |
0x80040116, %x16.01.04.80 |
TooComplex |
The operation requested is too complex for the server to handle; often applied to restrictions. (MAPI_E_TOO_COMPLEX, ecTooComplex) |
0x80040117, %x17.01.04.80 |
InvalidColumn |
The column requested is not allowed in this type of table. (MAPI_E_BAD_COLUMN) |
0x80040118, %x18.01.04.80 |
ComputedValue |
A property cannot be updated because it is read-only, computed by the server. (MAPI_E_COMPUTED, ecComputed) |
0x8004011A, %x1A.01.04.80 |
CorruptData |
There is an internal inconsistency in a database, or in a complex property value. (MAPI_E_CORRUPT_DATA, ecCorruptData) |
0x8004011B, %x1B.01.04.80 |
InvalidCodepage |
The server is not configured to support the code page requested by the client. (MAPI_E_UNKNOWN_CPID) |
0x8004011E, %x1E.01.04.80 |
InvalidLocale |
The server is not configured to support the locale requested by the client. (MAPI_E_UNKNOWN_LCID) |
0x8004011F, %x1F.01.04.80 |
TimeSkew |
The operation failed due to clock skew between servers. (MAPI_E_INVALID_ACCESS_TIME, ecTimeSkew) |
0x80040123, %x23.01.04.80 |
EndOfSession |
Indicates that the server session has been destroyed, possibly by a server restart. (MAPI_E_END_OF_SESSION) |
0x80040200, %x00.02.04.80 |
UnknownEntryId |
Indicates that the EntryID passed to OpenEntry was created by a different MAPI provider. (MAPI_E_UNKNOWN_ENTRYID) |
0x80040201, %x01.02.04.80 |
NotCompleted |
A complex operation such as building a table row set could not be completed. (MAPI_E_UNABLE_TO_COMPLETE, ecUnableToComplete) |
0x80040400, %x00.04.04.80 |
Timeout |
An asynchronous operation did not succeed within the specified time-out. (MAPI_E_TIMEOUT, ecTimeout) |
0x80040401, %x01.04.04.80 |
EmptyTable |
A table essential to the operation is empty. (MAPI_E_TABLE_EMPTY, ecTableEmpty) |
0x80040402, %x02.04.04.80 |
TableTooBig |
The table is too big for the requested operation to complete. (MAPI_E_TABLE_TOO_BIG, ecTableTooBig) |
0x80040403, %x03.04.04.80 |
InvalidBookmark |
The bookmark passed to a table operation was not created on the same table. (MAPI_E_INVALID_BOOKMARK, ecInvalidBookmark) |
0x80040405, %x05.04.04.80 |
ErrorWait |
A wait time-out has expired. (MAPI_E_WAIT, ecWait) |
0x80040500, %x00.05.04.80 |
ErrorCancel |
The operation had to be canceled. (MAPI_E_CANCEL, ecCancel) |
0x80040501, %x01.05.04.80 |
NoSuppress |
The server does not support the suppression of read receipts. (MAPI_E_NO_SUPPRESS) |
0x80040602, %x02.06.04.80 |
CollidingNames |
A folder or item cannot be created because one with the same name or other criteria already exists. (MAPI_E_COLLISION, ecDuplicateName) |
0x80040604, %x04.06.04.80 |
NotInitialized |
The subsystem is not ready. (MAPI_E_NOT_INITIALIZED, ecNotInitialized) |
0x80040605, %x05.06.04.80 |
NoRecipients |
A message cannot be sent because it has no recipients (1). (MAPI_E_NO_RECIPIENTS) |
0x80040607, %x07.06.04.80 |
AlreadySent |
A message cannot be opened for modification because it has already been sent. (MAPI_E_SUBMITTED, ecSubmitted) |
0x80040608, %x08.06.04.80 |
HasFolders |
A folder cannot be deleted because it still contains subfolders. (MAPI_E_HAS_FOLDERS, ecFolderHasChildren) |
0x80040609, %x09.06.04.80 |
HasMessages |
A folder cannot be deleted because it still contains messages. (MAPI_E_HAS_MESSAGES, ecFolderHasContents) |
0x8004060A, %x0A.06.04.80 |
FolderCycle |
A folder move or copy operation would create a cycle (typically when the request is to copy a parent folder to one of its subfolders). (MAPI_E_FOLDER_CYCLE, ecRootFolder) |
0x8004060B, %x0B.06.04.80 |
TooManyLocks |
Too many locks have been requested. (MAPI_E_LOCKID_LIMIT, ecLockIdLimit) |
0x8004060D, %x0D.06.04.80 |
AmbiguousRecipient |
An unresolved recipient (2) matches more than one entry in the directory. (MAPI_E_AMBIGUOUS_RECIP, ecAmbiguousRecip) |
0x80040700, %x00.07.04.80 |
SyncObjectDeleted |
The requested object was previously deleted. (SYNC_E_OBJECT_DELETED) |
0x80040800, %x00.08.04.80 |
IgnoreFailure |
An error occurred, but it's safe to ignore the error, perhaps because the change in question has been superseded. (SYNC_E_IGNORE) |
0x80040801 %x01.08.04.80 |
SyncConflict |
Conflicting changes to an object have been detected. (SYNC_E_CONFLICT) |
0x80040802 %x02.08.04.80 |
NoParentFolder |
The parent folder could not be found. (SYNC_E_NO_PARENT) |
0x80040803 %x03.08.04.80 |
CycleDetected |
An operation would create a cycle (for instance, by copying a parent folder to one of its subfolders). |
0x80040804 %x04.08.04.80 |
NotSynchronized |
A sync operation did not take place, possibly due to a conflicting change. (SYNC_E_UNSYNCHRONIZED) |
0x80040805 %x05.08.04.80 |
NamedPropertyQuota |
The Store object cannot store any more named property mappings. (MAPI_E_NAMED_PROP_QUOTA_EXCEEDED, ecNPQuotaExceeded) |
0x80040900, %x00.09.04.80 |
NotImplemented |
The server does not implement this method call. |
0x80040FFF, %xFF.0F.04.80 |