7 Appendix B: Product Behavior

The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include updates to those products.

  • Windows NT operating system

  • Windows 2000 operating system

  • Windows XP operating system

  • Windows Server 2003 operating system

  • Windows Vista operating system

  • Windows Server 2008 operating system

  • Windows 7 operating system

  • Windows Server 2008 R2 operating system

  • Windows 8 operating system

  • Windows Server 2012 operating system

  • Windows 8.1 operating system

  • Windows Server 2012 R2 operating system

  • Windows 10 operating system

  • Windows Server 2016 operating system

  • Windows Server operating system

  • Windows Server 2019 operating system

  • Windows Server 2022 operating system

  • Windows 11 operating system

  • Windows Server 2025 operating system

Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base (KB) number appears with a product name, the behavior changed in that update. The new behavior also applies to subsequent updates unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.

Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription.

<1> Section 2.2.2.9: Applicable server releases of Windows permit a maximum of 30 routing hops.

<2> Section 2.2.2.9: Applicable server releases of Windows generate a MQMSG_CLASS_NACK_SOURCE_COMPUTER_GUID_CHANGED value for each message in an outgoing queue where the server joined or unjoined a Windows domain prior to the message being successfully delivered.

<3> Section 2.2.2.13: Applicable server releases of Windows send MQMSG_CLASS_REPORT messages to a public queue that is owned by the local QueueManager, where PublicQueue.Label equals "MQReport Queue" and PublicQueue.Identifier equals "{55ee8f32-cce9-11cf-b108-0020afd61ce9}". If no such public queue exists, the report message is not generated.

<4> Section 2.2.2.16: On Windows NT, the value is interpreted as equal to MQMSG_AUTH_LEVEL_SIG10. On Windows 2000, the value is interpreted as equal to MQMSG_AUTH_LEVEL_SIG20.

<5> Section 2.2.2.18: This value is only supported in Windows NT, Windows 2000, Windows XP, and Windows Server 2003. All other applicable client and server releases of Windows can enable this value with a configuration option.

<6> Section 2.2.2.18: This value is only supported in Windows NT, Windows 2000, Windows XP, and Windows Server 2003. All other applicable client and server releases of Windows can enable this value with a configuration option.

<7> Section 2.2.2.18: This value is only supported in Windows NT, Windows 2000, Windows XP, and Windows Server 2003. All other applicable client and server releases of Windows can enable this value with a configuration option.

<8> Section 2.2.2.18: This value is only supported in Windows NT, Windows 2000, Windows XP, and Windows Server 2003. All other applicable client and server releases of Windows can enable this value with a configuration option.

<9> Section 3.2.4.1.1: The Windows API documentation for MSMQApplication.MachineIdOfMachineName includes the following error codes. For error code descriptions of the following name/value pairs, see [MS-MQMQ] section 2.4 and [MSDN-MQEIC], in that order.

Value

Meaning

MQ_ERROR_ACCESS_DENIED

0xC00E0025

Access is denied.

MQ_ERROR_MACHINE_NOT_FOUND

0xC00E000D

The specified computer cannot be found.

MQ_ERROR_NO_DS

0xC00E0013

A connection with Active Directory cannot be established. Verify that sufficient permissions exist to perform this operation.

<10> Section 3.2.4.2.1: The Windows API documentation for MSMQApplication.RegisterCertificate includes the following error codes. For error code descriptions of the following name/value pairs, see [MS-MQMQ] section 2.4 and also see [MSDN-MQEIC], in that order.

Value

Meaning

MQ_ERROR_CANNOT_CREATE_CERT_STORE

0xC00E006F

A certificate store cannot be created for the internal certificate.

MQ_ERROR_CANNOT_OPEN_CERT_STORE

0xC00E0070

The certificate store for the internal certificate cannot be opened.

MQ_ERROR_ILLEGAL_USER

0xC00E0011

The specified user is not a valid user.

MQ_ERROR_INTERNAL_USER_CERT_EXIST

0xC00E002E

An internal Message Queuing certificate already exists for this user.

MQ_INFORMATION_INTERNAL_USER_CERT_EXIST

0x400E000A

An internal MSMQ certificate already exists for this user.

<11> Section 3.2.4.2.1: Windows clients obtain the reference to a user SID by calling the Windows SDK GetTokenInformation function.

<12> Section 3.2.4.2.2: The Windows API documentation for MSMQApplication.MachineNameOfMachineId includes the following error codes. For error code descriptions of the following name/value pairs, see [MS-MQMQ] section 2.4 and also see [MSDN-MQEIC], in that order.

Value

Meaning

MQ_ERROR_ACCESS_DENIED

0xC00E0025

Access is denied.

MQ_ERROR_ILLEGAL_PROPERTY_VALUE

0xC00E00018

The specified property value is not valid.

MQ_ERROR_MACHINE_NOT_FOUND

0xC00E000D

The specified computer cannot be found.

MQ_ERROR_NO_DS

0xC00E0013

A connection with Active Directory cannot be established. Verify that sufficient permissions exist to perform this operation.

<13> Section 3.2.4.2.3: The major version numbers for the different MSMQ versions are returned as follows.

MSMQ version

Major version number

2.0

2

3.0

3

4.0

4

<14> Section 3.2.4.2.4: The minor version numbers for the different MSMQ versions are returned as follows.

MSMQ version

Minor version number

2.0

0

3.0

0

4.0

1

<15> Section 3.2.4.2.5: The build version numbers for the different MSMQ versions are returned as shown in the following table. The build number is affected by several factors, including service packs, security updates, and customer support updates. For each version shown, these values indicate the build number that is returned by the most recent widely distributed build of MSMQ; however, other values might be encountered, depending on the system configuration.

MSMQ version

Build version number

2.0

802

3.0

1738

4.0

6000

<16> Section 3.2.4.3.3: Windows clients retrieve the name of the domain controller for the directory service server by calling the Windows SDK DsGetDcName function.

<17> Section 3.2.4.3.8: The Windows API documentation for MSMQApplication.Connect includes the following error codes. For error code descriptions of the following name/value pairs, see [MS-MQMQ] section 2.4 and also see [MSDN-MQEIC], in that order.

Value

Meaning

MQ_ERROR_ACCESS_DENIED

0xC00E0025

Access is denied.

MQ_ERROR_SERVICE_NOT_AVAILABLE

0xC00E000B

The Message Queuing service is not available.

<18> Section 3.2.4.3.9: The Windows API documentation for MSMQApplication.Disconnect includes the following error codes. For error code descriptions of the following name/value pairs, see [MS-MQMQ] section 2.4 and also see [MSDN-MQEIC], in that order.

Value

Meaning

MQ_ERROR_ACCESS_DENIED

0xC00E0025

Access is denied.

MQ_ERROR_SERVICE_NOT_AVAILABLE

0xC00E000B

The Message Queuing service is not available.

<19> Section 3.2.4.3.10: The Windows API documentation for MSMQApplication.Tidy includes the following error codes. For error code descriptions of the following name/value pairs, see [MS-MQMQ] section 2.4 and also see [MSDN-MQEIC], in that order.

Value

Meaning

MQ_ERROR_ACCESS_DENIED

0xC00E0025

Access is denied.

MQ_ERROR_SERVICE_NOT_AVAILABLE

0xC00E000B

The Message Queuing service is not available.

<20> Section 3.5.4.1.4: The Windows API documentation for MSMQOutgoingQueueManagement.Resume includes the following error codes. For error code descriptions of the following name/value pairs, see [MS-MQMQ] section 2.4 and also see [MSDN-MQEIC], in that order.

Value

Meaning

MQ_ERROR_QUEUE_NOT_ACTIVE

0xC00E0004

The queue is not open or might not exist.

<21> Section 3.5.4.1.5: The Windows API documentation for MSMQOutgoingQueueManagement.Pause includes the following error codes. For error code descriptions of the following name/value pairs, see [MS-MQMQ] section 2.4 and also see [MSDN-MQEIC], in that order.

Value

Meaning

MQ_ERROR_QUEUE_NOT_ACTIVE

0xC00E0004

The queue is not open or might not exist.

<22> Section 3.5.4.1.6: The Windows API documentation for MSMQOutgoingQueueManagement.EodResend includes the following error codes. For error code descriptions of the following name/value pairs, see [MS-MQMQ] section 2.4 and also see [MSDN-MQEIC], in that order.

Value

Meaning

MQ_ERROR_QUEUE_NOT_ACTIVE

0xC00E0004

The queue is not open or might not exist.

<23> Section 3.6.4.1: The ptransaction parameter type is IMSMQTransaction2 or IMSMQTransaction in the IMSMQTransaction2 or IMSMQTransaction interfaces, respectively.

<24> Section 3.6.4.1: This method is not available in the IMSMQTransactionDispenser interface.

<25> Section 3.6.4.1.1: The Windows API documentation for MSMQTransactionDispenser.BeginTransaction includes the following error codes. For error code descriptions of the following name/value pairs, see [MS-MQMQ] section 2.4 and [MSDN-MQEIC], in that order.

Value

Meaning

MQ_ERROR_TRANSACTION_USAGE

0xC00E0050

An attempted action cannot be performed within a transaction.

<26> Section 3.7.4.1: The ptransaction parameter type is IMSMQTransaction2 or IMSMQTransaction in the IMSMQCoordinatedTransactionDispenser2 or IMSMQCoordinatedTransactionDispenser interface respectively.

<27> Section 3.7.4.1: This method is not available in the IMSMQCoordinatedTransactionDispenser interface.

<28> Section 3.7.4.1.1: The Windows API documentation for MSMQCoordinatedTransactionDispenser.BeginTransaction includes the following error codes. For error code descriptions of the following name/value pairs, see [MS-MQMQ] section 2.4 and also see [MSDN-MQEIC], in that order.

Value

Meaning

MQ_ERROR_TRANSACTION_USAGE

0xC00E0050

An attempted action cannot be performed within a transaction.

<29> Section 3.7.4.1.1: Windows clients obtain the reference to the ITransaction (section 3.8.4.1) object by calling the Windows SDK function BeginTransaction on the ITransactionDispenser object, which is obtained by calling DtcGetTransactionManager.

<30> Section 3.8.4.1.1: The Windows API documentation for ITransaction.Commit includes the following return codes. For return code descriptions of the following name/value pairs, see [MS-MQMQ] section 2.4 and [MSDN-MQEIC], in that order.

Name

Value

S_OK

0x00000000

E_POINTER

0x80000005

E_NOTIMPL

0x80000001

<31> Section 3.8.4.1.2: The Windows API documentation for ITransaction.Abort includes the following return codes. For return code descriptions of the following name/value pairs, see [MS-MQMQ] section 2.4 and also see [MSDN-MQEIC], in that order.

Name

Value

S_OK

0x00000000

XACT_S_ASYNC

0x0004D000

XACT_E_NOTRANSACTION

0x8004D00E

XACT_E_ALREADYINPROGRESS

0x8004D018

XACT_E_CANTRETAIN

0x8004D001

E_FAIL

0x80004005

XACT_E_INDOUBT

0x8004D016

E_UNEXPECTED

0x8000FFFF

XACT_S_ABORTING

0x0004D008

XACT_E_CONNECTION_DOWN

0x8004D01C

<32> Section 3.8.4.1.3: The Windows API documentation for ITransaction.GetTransactionInfo includes the following return codes. For return code descriptions of the following name/value pairs, see [MS-MQMQ] section 2.4 and [MSDN-MQEIC], in that order.

Name

Value

S_OK

0x00000000

XACT_E_NOTRANSACTION

0x8004D00E

E_UNEXPECTED

0x8000FFFF

E_INVALIDARG

0x80070057

<33> Section 3.9.4.1.1: 32-bit versions of Windows return a pointer to the underlying transaction object

<34> Section 3.10.4.1: IMSMQQueue3, IMSMQQueue2, and IMSMQQueue pointers are returned for the IMSMQQueueInfo3, IMSMQQueueInfo2, and IMSMQQueueInfo versions of this interface respectively.

<35> Section 3.10.4.1: This method is not available in the IMSMQQueueInfo interface.

<36> Section 3.10.4.1: This method is not available in the IMSMQQueueInfo interface.

<37> Section 3.10.4.1: This method is not available in the IMSMQQueueInfo interface.

<38> Section 3.10.4.1: This method is not available in the IMSMQQueueInfo interface.

<39> Section 3.10.4.1: This method is not available in the IMSMQQueueInfo or IMSMQQueueInfo2 interface.

<40> Section 3.10.4.1: This method is not available in the IMSMQQueueInfo or IMSMQQueueInfo2 interface.

<41> Section 3.10.4.1: This method is not available in the IMSMQQueueInfo or IMSMQQueueInfo2 interface.

<42> Section 3.10.4.1: This method is not available in the IMSMQQueueInfo or IMSMQQueueInfo2 interface.

<43> Section 3.10.4.1: This method is not available in the IMSMQQueueInfo or IMSMQQueueInfo2 interface.

<44> Section 3.10.4.1.26: Windows client obtains the reference to the security token by calling the Windows SDK function OpenThreadToken on the current operating thread.

<45> Section 3.10.4.1.26.1: Windows XP and Windows Server 2003 do not perform this step.

<46> Section 3.10.4.1.27: Windows clients obtain the reference to the security token by calling the Windows SDK function OpenThreadToken on the current operating thread.

<47> Section 3.11.4.1: The IMSMQQueueInfo3, IMSMQQueueInfo2, and IMSMQQueueInfo interfaces are returned for the IMSMQQueue3, IMSMQQueue2, and IMSMQQueue versions of this interface respectively.

<48> Section 3.11.4.1: This method is not available in the IMSMQQueue interface.

<49> Section 3.11.4.1: IMSMQMessage3 and IMSMQMessage2 interface pointers are returned for the IMSMQQueue3 and IMSMQQueue2 versions of this interface respectively.

<50> Section 3.11.4.1: This method is not available in the IMSMQQueue interface.

<51> Section 3.11.4.1: IMSMQMessage3 and IMSMQMessage2 interface pointers are returned for the IMSMQQueue3 and IMSMQQueue2 versions of this interface respectively.

<52> Section 3.11.4.1: This method is not available in the IMSMQQueue interface.

<53> Section 3.11.4.1: IMSMQMessage3 and IMSMQMessage2 interface pointers are returned for the IMSMQQueue3 and IMSMQQueue2 versions of this interface respectively.

<54> Section 3.11.4.1: This method is not available in the IMSMQQueue interface.

<55> Section 3.11.4.1: This method is not available in the IMSMQQueue interface.

<56> Section 3.11.4.1: IMSMQMessage3 and IMSMQMessage2 interface pointers are returned for the IMSMQQueue3 and IMSMQQueue2 versions of this interface respectively.

<57> Section 3.11.4.1: This method is not available in the IMSMQQueue interface.

<58> Section 3.11.4.1: This method is not available in the IMSMQQueue or IMSMQQueue2 interface.

<59> Section 3.11.4.1: This method is not available in the IMSMQQueue or IMSMQQueue2 interface.

<60> Section 3.11.4.1: An IMSMQMessage3 interface pointer is returned for the IMSMQQueue3 version of this interface.

<61> Section 3.11.4.1: This method is not available in the IMSMQQueue or IMSMQQueue2 interface.

<62> Section 3.11.4.1: An IMSMQMessage3 interface pointer is returned for the IMSMQQueue3 version of this interface.

<63> Section 3.11.4.1: This method is not available in the IMSMQQueue or IMSMQQueue2 interface.

<64> Section 3.11.4.1: An IMSMQMessage3 interface pointer is returned for the IMSMQQueue3 version of this interface.

<65> Section 3.11.4.1: This method is not available in the IMSMQQueue or IMSMQQueue2 interface.

<66> Section 3.11.4.1: An IMSMQMessage3 interface pointer is returned for the IMSMQQueue3 version of this interface.

<67> Section 3.11.4.1: This method is not available in the IMSMQQueue or IMSMQQueue2 interface.

<68> Section 3.11.4.1: An IMSMQMessage3 interface pointer is returned for the IMSMQQueue3 version of this interface.

<69> Section 3.11.4.1: This method is not available in the IMSMQQueue or IMSMQQueue2 interface.

<70> Section 3.11.4.1: An IMSMQMessage3 interface pointer is returned for the IMSMQQueue3 version of this interface.

<71> Section 3.11.4.1: This method is not available in the IMSMQQueue or IMSMQQueue2 interface.

<72> Section 3.11.4.1: An IMSMQMessage3 interface pointer is returned for the IMSMQQueue3 version of this interface.

<73> Section 3.11.4.1: This method is not available in the IMSMQQueue or IMSMQQueue2 interface.

<74> Section 3.11.4.1: An IMSMQMessage3 interface pointer is returned for the IMSMQQueue3 version of this interface.

<75> Section 3.11.4.1: This method is not available in the IMSMQQueue or IMSMQQueue2 interface.

<76> Section 3.11.4.1: An IMSMQMessage3 interface pointer is returned for the IMSMQQueue3 version of this interface.

<77> Section 3.11.4.1: This method is not available in the IMSMQQueue or IMSMQQueue2 interface.

<78> Section 3.11.4.1: An IMSMQMessage3 interface pointer is returned for the IMSMQQueue3 version of this interface.

<79> Section 3.11.4.1: This method is not available in the IMSMQQueue or IMSMQQueue2 interface.

<80> Section 3.11.4.1: This method is not available in the IMSMQQueue or IMSMQQueue2 interface.

<81> Section 3.11.4.1: This method is not available in the IMSMQQueue, IMSMQQueue2, or IMSMQQueue3 interface.

<82> Section 3.13.4.1: The ppqinfos parameter type is IMSMQQueueInfos3, IMSMQQueueInfos2, and IMSMQQueueInfos rather than IMSMQQueueInfos4 for interfaces IMSMQQuery3, IMSMQQuery2, and IMSMQQuery respectively.

<83> Section 3.13.4.1: This method is not available in the IMSMQQuery interface.

<84> Section 3.13.4.1: This method is not available in the IMSMQQuery or IMSMQQuery2 interface.

<85> Section 3.13.4.1: The ppqinfos parameter type is IMSMQQueueInfos3 rather than IMSMQQueueInfos4 for the interface IMSMQQuery3.

<86> Section 3.14.4.1: The ppqinfoNext parameter type is IMSMQQueueInfos3, IMSMQQueueInfos2, and IMSMQQueueInfos rather than IMSMQQueueInfos4 for the interfaces IMSMQQueueInfos3, IMSMQQueueInfos2, and IMSMQQueueInfos respectively.

<87> Section 3.14.4.1: This method is not available in the IMSMQQueueInfos interface.

<88> Section 3.16.4.1: This method is not available in the IMSMQEvent interface.

<89> Section 3.16.4.3: IMSMQPrivateEvent is used by Windows as an intermediate communication step between the client and an MSMQQueue instance. There is no requirement for a different implementation to do this, and the same functionality could be achieved by the MSMQQueue object directly calling the _DMSMQEventEvents::Arrived and _DMSMQEventEvents::ArrivedError methods.

<90> Section 3.16.4.3.1: Applicable Windows Server releases return the value of an internal handle, which is meaningful only within the server process. Therefore, the value returned by this method is not useful in networked scenarios, and clients ignore the returned value.

<91> Section 3.16.4.4.2: The Windows API documentation for MSMQEvent.ArrivedError indicates that the ErrorCode field contains the error code returned from MQReceiveMessage. (See [MSDN-MQCOC].) The possible error codes are listed below. For descriptions of the following error code name/value pairs, see [MS-MQMQ] section 2.4 and [MSDN-MQEIC], in that order.

Value

Meaning

MQ_ERROR_ACCESS_DENIED

0xC00E0025

Access is denied.

MQ_ERROR_BUFFER_OVERFLOW

0xC00E001A

The buffer supplied for message property retrieval is too small. The message was not removed from the queue, but the part of the message property that was in the buffer was copied.

MQ_ERROR_DTC_CONNECT

0xC00E004C

A connection cannot be established with the Distributed Transaction Coordinator.

MQ_ERROR_FORMATNAME_BUFFER_TOO_SMALL

0xC00E001F

The format name buffer supplied to the API was too small to hold the format name.

MQ_ERROR_ILLEGAL_CURSOR_ACTION

0xC00E001C

The MQ_ACTION_PEEK_NEXT value specified cannot be used with the current cursor position.

MQ_ERROR_INSUFFICIENT_PROPERTIES

0xC00E003F

Not all the properties required for the operation were specified for the input parameters.

MQ_ERROR_INVALID_HANDLE

0xC00E0007

An invalid handle was passed to a function.

MQ_ERROR_IO_TIMEOUT

0xC00E001B

The time specified to wait for the message elapsed.

MQ_ERROR_LABEL_BUFFER_TOO_SMALL

0xC00E0063

The buffer passed for the provider name property is too small.

MQ_ERROR_PROPERTY

0xC00E0002

One or more of the properties passed are invalid.

MQ_ERROR_QUEUE_DELETED

0xC00E005A

The queue was deleted. The message cannot be received anymore using this queue handle.

The application has to close the handle.

MQ_ERROR_SENDER_CERT_BUFFER_TOO_SMALL

0xC00E002B

The buffer for the user certificate property is too small.

MQ_ERROR_SENDERID_BUFFER_TOO_SMALL

0xC00E0022

The buffer for the user ID property is too small.

MQ_ERROR_STALE_HANDLE

0xC00E0056

The Message Queuing service was restarted.

The application has to close any open queue handles.

MQ_ERROR_SYMM_KEY_BUFFER_TOO_SMALL

0xC00E0061

The buffer passed for the symmetric key is too small.

MQ_ERROR_TRANSACTION_USAGE

0xC00E0050

An attempted action cannot be performed within a transaction.

MQ_INFORMATION_OPERATION_PENDING

0x400E0006

An asynchronous operation is currently pending.

MQ_INFORMATION_PROPERTY

0x400E0001

One or more of the properties passed resulted in a warning, but the function completed.

<92> Section 3.16.4.5.1: The Windows API documentation for the IConnectionPoint.GetConnectionInterface includes the following error codes. For descriptions of the following error code name/value pairs, see [MS-MQMQ] section 2.4 and [MSDN-MQEIC], in that order.

Value

Meaning

S_OK

0x00000000

The operation completed successfully.

E_POINTER

0x80000005

An invalid pointer was passed as a parameter.

<93> Section 3.16.4.5.2: The Windows API documentation for IConnectionPoint.GetConnectionPointContainer includes the following error codes. For descriptions of the following error code name/value pairs, see [MS-MQMQ] section 2.4 and [MSDN-MQEIC], in that order.

Value

Meaning

S_OK

0x00000000

The operation completed successfully.

E_POINTER

0x80000005

An invalid pointer was passed as a parameter.

<94> Section 3.16.4.5.3: The Windows API documentation for IConnectionPoint.Advise includes the following error codes. For descriptions of the following error code name/value pairs, see [MS-MQMQ] section 2.4 and [MSDN-MQEIC], in that order.

Value

Meaning

S_OK

0x00000000

The operation completed successfully.

E_POINTER

0x80000005

An invalid pointer was passed as a parameter.

CONNECT_E_ADVISELIMIT

0x80040202

The connection point has already reached its limit of connections and cannot accept any more.

CONNECT_E_CANNOTCONNECT

0x80040203

The pUnkSink input parameter does not support the interface required by this connection point.

<95> Section 3.16.4.5.4: The Windows API documentation for IConnectionPoint.Unadvise includes the following error codes. For descriptions of the following error code name/value pairs, see [MS-MQMQ] section 2.4 and [MSDN-MQEIC], in that order.

Value

Meaning

S_OK

0x00000000

The operation completed successfully.

CONNECT_E_NOCONNECTION

0x80040201

The value in dwCookie does not represent a valid connection.

<96> Section 3.16.4.5.5: The Windows API documentation for IConnectionPoint.EnumConnections includes the following error codes. For descriptions of the following error code name/value pairs, see [MS-MQMQ] section 2.4 and [MSDN-MQEIC], in that order.

Value

Meaning

S_OK

0x00000000

The operation completed successfully.

E_POINTER

0x80000005

An invalid pointer was passed as a parameter.

CONNECT_E_ADVISELIMIT

0x80040202

The connection point has already reached its limit of connections and cannot accept any more.

CONNECT_E_CANNOTCONNECT

0x80040203

The pUnkSink input parameter does not support the interface required by this connection point.

<97> Section 3.16.4.6.1: The Windows API documentation for IConnectionPointContainer.EnumConnectionPoints includes the following error codes. For descriptions of the following error code name/value pairs, see [MS-MQMQ] section 2.4 and [MSDN-MQEIC], in that order.

Value

Meaning

S_OK

0x00000000

The operation completed successfully.

E_POINTER

0x80000005

An invalid pointer was passed as a parameter.

<98> Section 3.16.4.6.2: The Windows API documentation for IConnectionPointContainer.FindConnectionPoint includes the following error codes. For descriptions of the following error code name/value pairs, see [MS-MQMQ] section 2.4 and [MSDN-MQEIC], in that order.

Value

Meaning

S_OK

0x00000000

The operation completed successfully.

E_POINTER

0x80000005

An invalid pointer was passed as a parameter.

CONNECT_E_NOCONNECTION

0x80040201

The value in dwCookie does not represent a valid connection.

<99> Section 3.17.3: The MSMQ for Windows implementations sets this to (0xFFFFFFFF).

<100> Section 3.17.4.1: Returns IMSMQQueueInfo3, IMSMQQueueInfo2, and IMSMQQueueInfo interface pointers rather than an IMSMQQueueInfo4 interface pointer for the interfaces IMSMQMessage3, IMSMQMessage2, and IMSMQMessage respectively.

<101> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<102> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<103> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<104> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<105> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<106> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<107> Section 3.17.4.1: Returns IMSMQQueueInfo3 and IMSMQQueueInfo2 interface pointers rather than an IMSMQQueueInfo4 interface pointer for the interfaces IMSMQMessage3 and IMSMQMessage2 respectively.

<108> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<109> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<110> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<111> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<112> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<113> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<114> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<115> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<116> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<117> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<118> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<119> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<120> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<121> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<122> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<123> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<124> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<125> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<126> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<127> Section 3.17.4.1: This method is not available in the IMSMQMessage interface.

<128> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<129> Section 3.17.4.1: Returns an IMSMQQueueInfo3 rather than an IMSMQQueueInfo4 interface pointer for the IMSMQMessage3 interface.

<130> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<131> Section 3.17.4.1: Returns an IMSMQQueueInfo3 rather than an IMSMQQueueInfo4 interface pointer for the IMSMQMessage3 interface.

<132> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<133> Section 3.17.4.1: Returns an IMSMQQueueInfo3 rather than an IMSMQQueueInfo4 interface pointer for the IMSMQMessage3 interface.

<134> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<135> Section 3.17.4.1: Returns an IMSMQQueueInfo3 rather than an IMSMQQueueInfo4 interface pointer for the IMSMQMessage3 interface.

<136> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<137> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<138> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<139> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<140> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<141> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<142> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<143> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<144> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<145> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<146> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<147> Section 3.17.4.1: This method is not available in the IMSMQMessage2 or IMSMQMessage interface.

<148> Section 3.17.4.1.3: Windows NT does not support the MQMSG_PRIV_LEVEL_BODY_ENHANCED value of the MQMSGPRIVLEVEL enumeration that is passed to this method.

<149> Section 3.17.4.1.38: The subset of supported values defined by the Message Queuing Binary Protocol Specification is contained in [MS-MQMQ] section 2.2.19.3.

<150> Section 3.17.4.1.39: The subset of supported values defined by the Message Queuing Binary Protocol Specification is contained in [MS-MQMQ] section 2.2.19.3.

<151> Section 3.17.4.1.48: Windows clients obtain the reference to the user SID by calling the Windows SDK function GetTokenInformation.

<152> Section 3.17.4.1.48: The Windows implementation uses the Cryptography API functions CryptAcquireContext and CertOpenSystemStore to verify that the attached certificate is associated with the current user. If the certificate is not found, the server returns an error HRESULT and takes no further action.

<153> Section 3.17.4.1.49: Windows clients obtain the reference to the user SID by calling the Windows SDK function GetTokenInformation.

<154> Section 3.17.4.1.49: The Windows implementation uses the Cryptography API functions CryptAcquireContext and CertOpenSystemStore to verify that the attached certificate is associated with the current user. If the certificate is not found, the server returns an error HRESULT and takes no further action.

<155> Section 3.17.4.1.87: Windows clients obtain the reference to the user SID by calling the Windows SDK function GetTokenInformation.

<156> Section 3.17.4.1.87: The Windows implementation uses the Cryptography API functions CryptAcquireContext and CertOpenSystemStore to verify that the attached certificate is associated with the current user. If the certificate is not found, the server returns an error HRESULT and takes no further action.