Message Queuing Error and Information Codes

 

Applies To: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Preview, Windows Vista

Error and information codes are returned in two ways: directly by Message Queuing functions and COM object methods, or via the optional aStatus array specified in an MQQUEUEPROPS, MQMSGPROPS, MQQMPROPS, or MQPRIVATEPROPS, structure.

The following error and information codes are defined in mq.h.

Error Codes

MQ_ERROR (0xC00E0001)

Returned when a nonspecific Message Queuing error occurs.

MQ_ERROR_ACCESS_DENIED (0xC00E0025)

Returned when access to the specified queue or computer is denied.

When returned, verify that your are allowed the access rights for performing the operation on the applicable object (for example, creating, setting properties, or deleting a queue). To change the access rights of a queue, call MQSetQueueSecurity.

MQ_ERROR_BAD_SECURITY_CONTEXT (0xC00E0035)

Returned when the security context specified by PROPID_M_SECURITY_CONTEXT is invalid.

MQ_ERROR_BAD_XML_FORMAT (0xC00E0092)

Returned when the additional application-generated header elements (PROPID_M_SOAP_HEADER) for inclusion in the SOAP envelope of an SRMP message do not form a valid XML document.

MQ_ERROR_BUFFER_OVERFLOW (0xC00E001A)

When reading messages, the buffer supplied for a property is too small. In the case of the message body buffer, the portion of the message body that fits is copied to the buffer, but the message is not removed from the queue.

MQ_ERROR_CANNOT_CREATE_CERT_STORE (0xC00E006F)

Returned when Message Queuing cannot create a certificate store for its internal certificate. This error is returned only when you do not have permission to manipulate your own profile.

MQ_ERROR_CANNOT_CREATE_HASH_EX (0xC00E0081)

Returned when Message Queuing cannot compute the hash value for validating an MSMQ 2.0 signature in an authenticated message.

MQ_ERROR_CANNOT_CREATE_PSC_OBJECTS (0xC00E0095)

Returned when an attempt is made to create an object that should be owned by a primary site controller and the operation cannot be performed.

MQ_ERROR_CANNOT_DELETE_PSC_OBJECTS (0xC00E0083)

Returned when an attempt is made to delete an object that is owned by a primary site controller and the operation cannot be performed.

MQ_ERROR_CANNOT_LOAD_MQAD (0xC00E0085)

Returned when the dynamic-link library Mqad.dll cannot be loaded.

MQ_ERROR_CANNOT_SIGN_DATA_EX (0xC00E0080)

Returned when the hash calculated from the message properties cannot be encrypted with the sender's private key to create an MSMQ 2.0 signature, for example, when an MSMQ 2.0 signature is requested for an authenticated message sent to a multiple-element format name or a distribution list.

MQ_ERROR_CANNOT_IMPERSONATE_CLIENT (0xC00E0024)

Returned when the RPC server cannot impersonate the client application. The security credentials could not be verified.

MQ_ERROR_CANNOT_OPEN_CERT_STORE (0xC00E0070)

Message Queuing cannot open the certificate store for its internal certificate. This error is returned only when you do not have permission to manipulate your own profile.

MQ_ERROR_CANNOT_SET_CRYPTO_SEC_DESCR (0xC00E006C)

Returned when the security descriptor of the cryptographic key container cannot be modified.

MQ_ERROR_CANNOT_UPDATE_PSC_OBJECTS (0xC00E0096)

Returned when an attempt is made to update an object that is owned by a primary site controller and the operation cannot be performed.

MQ_ERROR_CANT_RESOLVE_SITES (0xC00E0089)

Returned when the sites where the computer resides cannot be resolved. The subnets in the network may not be configured correctly in Active Directory Domain Services (AD DS) or one or more sites may not be configured with the appropriate subnet.

MQ_ERROR_CERTIFICATE_NOT_PROVIDED (0xC00E006D)

Returned when the sending application attempts to send a message with a request for authentication without a certificate or with a security context that does not include a certificate.

MQ_ERROR_COMPUTER_DOES_NOT_SUPPORT_ENCRYPTION (0xC00E0033)

Returned when encryption is requested and the computer (source or destination) does not support encryption operations.

When this error is returned the encryption operation fails.

MQ_ERROR_CORRUPTED_INTERNAL_CERTIFICATE (0xC00E002D)

(MSMQ 1.0 only.) Returned when the Message Queuing-supplied internal certificate is corrupted.

MQ_ERROR_CORRUPTED_PERSONAL_CERT_STORE (0xC00E0031)

Returned when the Microsoft® Internet Explorer personal certificate store is corrupted.

MQ_CORRUPTED_QUEUE_WAS_DELETED (0xC00E0068)

Returned when the file for the queue specified in the Lqs folder has been deleted because it was corrupted.

MQ_ERROR_CORRUPTED_SECURITY_DATA (0xC00E0030)

Returned when a cryptographic (CryptoAPI) function has failed.

MQ_ERROR_COULD_NOT_GET_ACCOUNT_INFO (0xC00E0037)

Returned when Message Queuing cannot retrieve the account information for the user.

MQ_ERROR_COULD_NOT_GET_USER_SID (0xC00E0036)

Returned when Message Queuing cannot retrieve the SID from the thread access token or from the security context specified in the message.

MQ_ERROR_DELETE_CN_IN_USE (0xC00E0048)

(MSMQ 1.0 only.) Returned when the specified connected network (CN) cannot be deleted because it is defined in at least one other computer. Remove the CN from all CN lists and try again.

MQ_ERROR_DEPEND_WKS_LICENSE_OVERFLOW (0xC00E0067)

Returned when the number of dependent clients served by a Message Queuing server reaches its upper limit.

MQ_ERROR_DS_BIND_ROOT_FOREST (0xC00E008F)

Returned when binding to the forest root fails.

This error usually indicates a problem in the DNS configuration.

MQ_ERROR_DS_ERROR (0xC00E0043)

Returned when an internal error in the directory service is issued.

MQ_ERROR_DS_IS_FULL (0xC00E0042)

(MSMQ 1.0 only.) Returned when the MSMQ Information Store (MQIS) is full.

MQ_ERROR_DS_LOCAL_USER (0xC00E0090)

(Introduced in MSMQ 3.0.) Returned when a local user, who is authenticated as an anonymous user, attempts to access AD DS.

Only authenticated domain users can access AD DS.

MQ_ERROR_DTC_CONNECT (0xC00E004C)

Returned when Message Queuing cannot connect to the Microsoft® Distributed Transaction Coordinator (MS DTC).

MQ_ERROR_ENCRYPTION_PROVIDER_NOT_SUPPORTED (0xC00E006B)

Returned when the cryptographic service provider specified is not supported by Message Queuing.

MQ_ERROR_FAIL_VERIFY_SIGNATURE_EX (0xC00E0082)

Returned when Message Queuing cannot verify the MSMQ 2.0 signature in the message.

MQ_ERROR_FORMATNAME_BUFFER_TOO_SMALL (0xC00E001F)

Returned when the specified format name buffer is too small to contain the format name of the queue.

MQ_ERROR_GC_NEEDED (0xC00E008E)

Returned when an attempt is made to create an MSMQ Configuration (msmq) object with a predetermined GUID. By default, a Windows forest does not allow adding an AD DS object with a predetermined GUID.

MQ_ERROR_ILLEGAL_CONTEXT (0xC00E005B)

Returned when the lpwcsContext parameter of MQLocateBegin is not NULL.

MQ_ERROR_ILLEGAL_CURSOR_ACTION (0xC00E001C)

Returned when the dwAction parameter of MQReceiveMessage is set to MQ_ACTION_PEEK_NEXT and the cursor is currently at the end of the queue.

MQ_ERROR_ILLEGAL_ENTERPRISE_OPERATION (0xC00E0071)

Returned when an application attempts to create an MsmqServices object.

MQ_ERROR_ILLEGAL_FORMATNAME (0xC00E001E)

Returned when the specified format name is not valid.

MQ_ERROR_ILLEGAL_MQCOLUMNS (0xC00E0038)

Returned when pColumns is set to NULL.

MQ_ERROR_ILLEGAL_MQPRIVATEPROPS (0xC00E007B)

Returned when no properties are specified in the MQPRIVATEPROPS structure, or the pPrivateProps parameter of MQGetPrivateComputerInformation is set to NULL.

MQ_ERROR_ILLEGAL_MQQMPROPS (0xC00E0041)

Returned when no properties are specified in the MQQMPROPS structure, or the pQMprops parameter of MQGetMachineProperties is set to NULL.

MQ_ERROR_ILLEGAL_MQQUEUEPROPS (0xC00E003D)

Returned when no properties are specified in the MQQUEUEPROPS structure, or the pQueueProps parameter is set to NULL.

MQ_ERROR_ILLEGAL_OPERATION (0xC00E0064)

Returned when the requested operation is not supported on the foreign messaging system.

MQ_ERROR_ILLEGAL_PROPERTY_SIZE (0xC00E003B)

Returned when the specified buffer for the message identifier or correlation identifier does not have the correct size.

MQ_ERROR_ILLEGAL_PROPERTY_VALUE (0xC00E0018)

Returned when an illegal property value is specified in the MQPROPVARIANT array.

MQ_ERROR_ILLEGAL_PROPERTY_VT (0xC00E0019)

Returned when an illegal type indicator is specified in the vt field of the MQPROPVARIANT array.

MQ_ERROR_ILLEGAL_PROPID (0xC00E0039)

Returned when an invalid property identifier is specified in the property identifier array.

MQ_ERROR_ILLEGAL_QUEUE_PATHNAME (0xC00E0014)

Returned when an invalid Message Queuing path name is specified for the queue.

MQ_ERROR_ILLEGAL_RELATION (0xC00E003A)

Returned when an invalid relationship parameter is specified.

MQ_ERROR_ILLEGAL_RESTRICTION_PROPID (0xC00E003C)

Returned when an invalid property identifier is specified in MQRESTRICTION.

MQ_ERROR_ILLEGAL_SECURITY_DESCRIPTOR (0xC00E0021)

Returned when an invalid security descriptor is specified.

MQ_ERROR_ILLEGAL_SORT (0xC00E0010)

Returned when an illegal sort operation is specified in MQSORTSET.

MQ_ERROR_ILLEGAL_SORT_PROPID (0xC00E005C)

Returned when an invalid property identifier is specified in MQSORTSET.

MQ_ERROR_ILLEGAL_USER (0xC00E0011)

Returned when an invalid user is specified.

MQ_ERROR_INSUFFICIENT_PROPERTIES (0xC00E003F)

Returned when not all properties required for the operation were specified.

MQ_ERROR_INSUFFICIENT_RESOURCES (0xC00E0027)

Returned when there are insufficient resources (for example, not enough memory) to complete the operation.

When this error is returned the operation fails.

MQ_ERROR_INTERNAL_USER_CERT_EXIST (0xC00E002E)

Returned when the internal or external certificate specified is already registered in the directory service for the user.

MQ_ERROR_INVALID_CERTIFICATE (0xC00E002C)

Returned when the user certificate specified by PROPID_M_SENDER_CERT is invalid, or the certificate is not correctly placed in the Microsoft® Internet Explorer personal certificate store.

MQ_ERROR_INVALID_HANDLE (0xC00E0007)

Returned when the specified queue handle is invalid.

MQ_ERROR_INVALID_OWNER (0xC00E0044)

Returned when an invalid object owner is specified. For example, this code is returned when trying to create a queue on a computer where Message Queuing is not installed.

MQ_ERROR_INVALID_PARAMETER (0xC00E0006)

Returned when one of the IN parameters supplied by the operation is not valid.

MQ_ERROR_IO_TIMEOUT (0xC00E001B)

Returned when the MQReceiveMessage I/O time-out has expired.

MQ_ERROR_LABEL_TOO_LONG (0xC00E005D)

Returned when the specified message label is too long. The message label should be equal to or less than MQ_MAX_MSG_LABEL_LEN (250 Unicode characters).

MQ_ERROR_LABEL_BUFFER_TOO_SMALL (0xC00E005E)

Returned when the message label buffer supplied is too small for the label of the message received.

MQ_ERROR_MACHINE_EXISTS (0xC00E0040)

Returned when an MSMQ configuration (msmq) object already exists in AD DS for the specified computer name.

MQ_ERROR_MACHINE_NOT_FOUND (0xC00E000D)

Returned when the computer specified could not be found in the directory service.

MQ_ERROR_MESSAGE_ALREADY_RECEIVED (0xC00E001D)

Returned when some other cursor, application, or system administrator (using the directory service) has already removed the message from the queue.

MQ_ERROR_MESSAGE_NOT_FOUND (0xC00E0088)

Returned when the message does not exist or was removed from the queue.

MQ_ERROR_MESSAGE_STORAGE_FAILED (0xC00E002A)

Returned when a recoverable or journal message cannot be stored on the local computer.

MQ_ERROR_MISSING_CONNECTOR_TYPE (0xC00E0055)

Returned when the connector type property (PROPID_M_CONNECTOR_TYPE) is not specified and either a property typically generated by Message Queuing is specified by the application or the message is an application-encrypted message.

MQ_ERROR_MQIS_SERVER_EMPTY (0xC00E005F)

Returned when the list of MSMQ Information Store (MQIS) servers (in the registry) is empty.

MQ_ERROR_MULTI_SORT_KEYS (0xC00E008D)

Returned when multiple sort keys are specified in MQSORTSET in an AD DS environment.

MQ_ERROR_NO_DS (0xC00E0013)

Returned when the application cannot access the directory service.

When this error is returned, verify permissions for accessing the directory service.

MQ_ERROR_NO_INTERNAL_USER_CERT (0xC00E002F)

Returned when no internal certificate is registered or the registered certificate is corrupted.

MQ_ERROR_NO_MQUSER_OU (0xC00E0084)

Returned during migration when there is no MSMQ Users organizational unit object in AD DS for the domain. The container for the upgraded user object must be created manually.

MQ_ERROR_NO_RESPONSE_FROM_OBJECT_SERVER (0xC00E0049)

Returned when there is no response from the object owner.

When this error is returned the status of the operation is unknown.

MQ_ERROR_NOT_A_CORRECT_OBJECT_CLASS (0xC00E008C)

Returned when the object whose properties are being retrieved from AD DS does not belong to the class requested.

MQ_ERROR_NOT_SUPPORTED_BY_DEPENDENT_CLIENTS (0xC00E008A)

Returned when the requested operation is not supported for dependent clients.

MQ_ERROR_OBJECT_SERVER_NOT_AVAILABLE (0xC00E004A)

Returned when the object owner is not available.

When this error is returned the operation fails.

MQ_ERROR_OPERATION_CANCELLED (0xC00E0008)

Returned when an operation is canceled before it could be completed. For example, during a message receiving operation, the queue handle is closed by another thread before a new message arrives.

MQ_ERROR_OPERATION_NOT_SUPPORTED_BY_REMOTE_COMPUTER (0xC00E008B)

Returned when an attempt is made to receive or peek at a message using a lookup identifier from a remote queue residing on a computer running MSMQ 1.0 or MSMQ 2.0.

MQ_ERROR_PRIVILEGE_NOT_HELD (0xC00E0026)

Returned when the application does not have the required privileges to perform the operation.

MQ_ERROR_PROPERTIES_CONFLICT (0xC00E0087)

Returned when both PROPID_M_RESP_QUEUE and PROPID_M_RESP_FORMAT_NAME or the equivalent COM object properties are set in the message.

MQ_ERROR_PROPERTY (0xC00E0002)

Returned when one or more of the property identifiers specified is invalid.

MQ_ERROR_PROPERTY_NOTALLOWED (0xC00E003E)

Returned when a specified property is not valid for the operation requested (for example, specifying PROPID_Q_INSTANCE when setting queue properties).

MQ_ERROR_PROV_NAME_BUFFER_TOO_SMALL (0xC00E0063)

Returned when the provider name buffer is too small for the cryptographic service provider name returned.

MQ_ERROR_PUBLIC_KEY_DOES_NOT_EXIST (0xC00E007A)

(Introduced in MSMQ 2.0.) Returned when you attempt to retrieve any encryption key property and the key is not registered in the directory service. Message Queuing was able to successfully query the directory service, but the enhanced key was not found.

MQ_ERROR_PUBLIC_KEY_NOT_FOUND (0xC00E0079)

(Introduced in MSMQ 2.0.) Returned when you attempt to retrieve PROPID_QM_ENCRYPTION_PK_ENHANCED and Message Queuing is operating in a mode that supports only 40-bit encryption. For example, you are trying to retrieve the computer properties of a computer running MSMQ 1.0.

MQ_ERROR_Q_ADS_PROPERTY_NOT_SUPPORTED (0xC00E0091)

Returned when PROPID_Q_ADS_PATH is specified in the pColumns parameter of MQLocateBegin. You cannot retrieve the ADs path of a queue in a query.

MQ_ERROR_Q_DNS_PROPERTY_NOT_SUPPORTED (0xC00E006E)

Returned when PROPID_Q_PATHNAME_DNS is specified in the pColumns parameter of MQLocateBegin. You cannot retrieve the DNS path name of a queue in a query.

MQ_ERROR_QUEUE_DELETED (0xC00E005A)

Returned when the queue is deleted before the message could be read.

The specified queue handle is no longer valid, and the queue must be closed.

MQ_ERROR_QUEUE_EXISTS (0xC00E0005)

Returned when a queue with the identical Message Queuing path name is already registered.

Public queues are registered in the directory service. Private queues are registered in the local computer.

MQ_ERROR_QUEUE_NOT_ACTIVE (0xC00E0004)

Returned when the queue is not open or does not exist, for example, in an attempt to restart the transmission of messages from an outgoing queue.

MQ_ERROR_QUEUE_NOT_AVAILABLE (0xC00E004B)

Returned when an error occurs while trying to read a message from a queue residing on a remote computer.

MQ_ERROR_QUEUE_NOT_FOUND (0xC00E0003)

Returned when Message Queuing cannot find the queue. Such queues include public queues not registered in the directory service and Internet queues that do not exist in the MSMQ namespace. This error is also returned when the user does not have sufficient permissions to perform the operation.

MQ_ERROR_REMOTE_MACHINE_NOT_AVAILABLE (0xC00E0069)

Returned when opening a queue for reading messages on a remote computer that is not available or when creating a cursor for a queue on a remote computer that is not available.

MQ_ERROR_RESULT_BUFFER_TOO_SMALL (0xC00E0046)

Returned when the buffer supplied for the result is too small.

MQLocateNext could not return at least one complete query result.

MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL (0xC00E0023)

Returned when the buffer passed to MQGetQueueSecurity is too small for the security descriptor.

MQ_ERROR_SENDER_CERT_BUFFER_TOO_SMALL (0xC00E002B)

Returned when the sender certificate buffer supplied is too small for the certificate retrieved.

MQ_ERROR_SENDERID_BUFFER_TOO_SMALL (0xC00E0022)

Returned when the sender identifier buffer supplied is too small.

MQ_ERROR_SERVICE_NOT_AVAILABLE (0xC00E000B)

Returned when the application is unable to connect to the queue manager.

MQ_ERROR_SIGNATURE_BUFFER_TOO_SMALL (0xC00E0062)

Returned when the digital signature buffer is too small for the digital signature retrieved.

MQ_ERROR_SHARING_VIOLATION (0xC00E0009)

Returned when the application is trying to open an already opened queue for exclusive reading, or the application is trying to open a queue that is already opened and does not allow sharing.

MQ_ERROR_STALE_HANDLE (0xC00E0056)

Returned when the specified handle was obtained in a previous session of the Message Queuing service.

MQ_ERROR_SYMM_KEY_BUFFER_TOO_SMALL (0xC00E0061)

Returned when the symmetric key buffer is too small for the symmetric key retrieved.

MQ_ERROR_TRANSACTION_ENLIST (0xC00E0058)

Returned when Message Queuing cannot enlist in the specified transaction.

MQ_ERROR_TRANSACTION_IMPORT (0xC00E004E)

Returned when Message Queuing cannot import the specified transaction.

MQ_ERROR_TRANSACTION_SEQUENCE (0xC00E0051)

Returned when the transaction operation sequence is incorrect.

MQ_ERROR_TRANSACTION_USAGE (0xC00E0050)

While reading messages, one of the following actions was attempted within the context of a transaction:

  • An attempt was made to open a remote queue for read access.

  • An attempt was made to read a message from a nontransactional queue.

  • An attempt was made to read a message using a callback or overlap function.

For sending messages in MSMQ 1.0 and MSMQ 2.0, either the message is sent as part of a transaction and the destination queue is a nontransactional queue, or the message is not sent as part of a transaction and the destination queue is a transactional queue. In MSMQ 3.0, the loss of transactional messages sent to nontransactional queues or of nontransactional messages sent to transactional queues is reported in negative acknowledgment messages.

MQ_ERROR_WRITE_NOT_ALLOWED (0xC00E0065)

Returned when a write operation is attempted to the MSMQ Information Store (MQIS) and write operations are not allowed because a new MQIS server is being installed.

MQ_ERROR_UNINITIALIZED_OBJECT (0xC00E0094)

Returned when an attempt is made to use an MSMQManagement object before it is initialized.

MQ_ERROR_UNSUPPORTED_ACCESS_MODE (0xC00E0045)

Returned when the access mode specified when opening the queue is set to an invalid value, or the access mode and the share mode specified are not compatible.

MQ_ERROR_UNSUPPORTED_CLASS (0xC00E0093)

Returned when information is requested for an AD DS object that is not an instance of a supported class.

MQ_ERROR_UNSUPPORTED_FORMATNAME_OPERATION (0xC00E0020)

Returned when the requested operation is not supported for the specified format name (for example, trying to delete a queue using a direct format name).

MQ_ERROR_UNSUPPORTED_OPERATION (0xC00E006A)

Returned when a computer operating in workgroup mode attempts to perform an operation that is not supported in workgroup mode.

MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028)

Returned when the buffer supplied is too small to hold the user information returned.

MQ_ERROR_WKS_CANT_SERVE_CLIENT (0xC00E0066)

Returned when an RPC request is sent to an independent client to perform an operation for a dependent client. A Message Queuing server is required.

Information Codes

MQ_INFORMATION_DUPLICATE_PROPERTY (0x400E0005)

Returned when a property specified has already been specified in the property identifier array.

When duplicate settings are found, the first entry is used, and subsequent settings are ignored.

MQ_INFORMATION_FORMATNAME_BUFFER_TOO_SMALL (0x400E0009)

Returned when the format name buffer supplied to MQCreateQueue is too small. The queue is still created.

MQ_INFORMATION_ILLEGAL_PROPERTY (0x400E0002)

Returned when an invalid property identifier is specified in aPropID.

MQ_INFORMATION_INTERNAL_USER_CERT_EXIST (0x400E000A)

Returned when an internal certificate already exists for the user.

MQ_INFORMATION_OPERATION_PENDING (0x400E0006)

Returned when an asynchronous operation is pending.

MQ_INFORMATION_OWNER_IGNORED (0x400E000B)

Returned when the queue owner is not set in the SECURITY_INFORMATION structure during the processing of a call to MQSetQueueSecurity.

MQ_INFORMATION_PROPERTY (0x400E0001)

Returned when one or more of the properties passed resulted in a warning, but the operation completed.

MQ_INFORMATION_PROPERTY_IGNORED (0x400E0003)

Returned when a specified property is not valid for the operation being performed (for example, PROPID_M_SENDERID is not valid when it is specified in the message properties structure passed to MQSendMessage; this property is set by Message Queuing when sending messages).

MQ_INFORMATION_UNSUPPORTED_PROPERTY (0x400E0004)

Returned when a specified property is not supported by the operation being performed. The property is ignored.