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