6 Appendix A: 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 Server 2003 R2 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.3: For Windows NT and Windows 2000, the Directory Service schema elements are described in [MS-MQDS] sections 2.2.10 and 3.1.4.21.1 through 3.1.4.21.4.
<2> Section 3.1.1.1: For Windows NT, Windows 95 operating system, and Windows 98 operating system, this ADM attribute represents the version of the MSMQ system. The format of this string conforms to the following ABNF notation.
-
MachineType = "Windows " OSType " " UInt "." UInt " (Build " UInt ", " Platform ") - MSMQ " UInt "." UInt " (Build " UInt ")" OSType = "NT" | "95" | "NT Server/E" | "NT Server" | "NT Workstation" Platform = "x86" | "Alpha" | "PPC" UInt = *(%x30-39)
For Windows 2000, this ADM attribute represents the version of the MSMQ system. The format of this string conforms to the following ABNF notation.
-
MachineType = "Windows " OSType " 5.0 (Build 2195, x86) - MSMQ 2.0 (Build " MSMQBuildNumLiteral ")" OSType = "NT Server/E" | "NT Server" | "NT Workstation" MSMQBuildNumLiteral = one of the strings listed in the following table
MSMQBuildNumLiteral |
Corresponding Windows release |
---|---|
645 |
Windows 2000 and Windows 2000 operating system Service Pack 1 (SP1) |
721 |
Windows 2000 Server operating system Service Pack 2 (SP2) |
751 |
Windows 2000 Server operating system Service Pack 3 (SP3) |
775 |
Windows 2000 Server operating system Service Pack 4 (SP4) |
776 |
MSMQ code fix released after Windows 2000 Server SP4 |
777 |
MSMQ code fix released after Windows 2000 Server SP4 |
778 |
MSMQ code fix released after Windows 2000 Server SP4 |
779 |
MSMQ code fix released after Windows 2000 Server SP4 |
781 |
MSMQ code fix released after Windows 2000 Server SP4 |
782 |
MSMQ code fix released after Windows 2000 Server SP4 |
783 |
MSMQ code fix released after Windows 2000 Server SP4 |
784 |
MSMQ code fix released after Windows 2000 Server SP4 |
785 |
MSMQ code fix released after Windows 2000 Server SP4 |
786 |
MSMQ code fix released after Windows 2000 Server SP4 |
787 |
MSMQ code fix released after Windows 2000 Server SP4 |
788 |
MSMQ code fix released after Windows 2000 Server SP4 |
789 |
MSMQ code fix released after Windows 2000 Server SP4 |
790 |
MSMQ code fix released after Windows 2000 Server SP4 |
791 |
MSMQ code fix released after Windows 2000 Server SP4 |
792 |
MSMQ code fix released after Windows 2000 Server SP4 |
793 |
MSMQ code fix released after Windows 2000 Server SP4 |
794 |
MSMQ code fix released after Windows 2000 Server SP4 |
795 |
MSMQ code fix released after Windows 2000 Server SP4 |
796 |
MSMQ code fix released after Windows 2000 Server SP4 |
797 |
MSMQ code fix released after Windows 2000 Server SP4 |
798 |
MSMQ code fix released after Windows 2000 Server SP4 |
799 |
MSMQ code fix released after Windows 2000 Server SP4 |
800 |
MSMQ code fix released after Windows 2000 Server SP4 |
801 |
MSMQ code fix released after Windows 2000 Server SP4 |
802 |
MSMQ code fix released after Windows 2000 Server SP4 |
803 |
MSMQ code fix released after Windows 2000 Server SP4 |
804 |
MSMQ code fix released after Windows 2000 Server SP4 |
805 |
MSMQ code fix released after Windows 2000 Server SP4 |
807 |
MSMQ code fix released after Windows 2000 Server SP4 |
For the versions of Windows listed at the beginning of this section and not cited in this note, this ADM attribute does not represent the version of the MSMQ system and contains an empty string.
<3> Section 3.1.1.1: For Windows NT, Windows 2000, and Windows XP, the default value for the QueueManagerQuota ADM attribute of the QueueManager ADM element is 0xFFFFFFFF.
<4> Section 3.1.1.1: The ConnectedNetworkIdCollection ADM attribute is maintained only in the ADMs for Windows NT and Windows 2000.
<5> Section 3.1.1.1: For Windows NT, this list is set by the user.
<6> Section 3.1.1.1: For Windows NT Server operating system and Windows 2000 Server operating system, the default value is True.
<7> Section 3.1.1.1: Windows enables the HardenedSecurity ADM attribute by defining a registry key of type DWORD called HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\Hardened_MSMQ and by setting its value to 0x00000001. Any change to this registry value takes effect when the queue manager is restarted.
<8> Section 3.1.1.1: The ConnectedNetworkCollection ADM attribute is maintained only in the ADMs for Windows NT and Windows 2000.
<9> Section 3.1.1.2: Scope is treated as a directory attribute only if the Message Queuing (MSMQ): Directory Service Protocol [MS-MQDS] is in use.
<10> Section 3.1.1.12: On Windows NT, Windows 2000, Windows XP, and Windows Server 2003, the queue manager does not set this ADM attribute.
<11> Section 3.1.1.12: On Windows NT, Windows 2000, Windows XP, and Windows Server 2003, if the NegativeJournalingRequested ADM attribute of a Message ADM element instance is True, the queue manager ignores the ApplicationDeadletterQueue ADM attribute of that Message ADM element instance and continues to store undeliverable messages in the system dead-letter queue if the messages were sent to a nontransactional queue or in the transactional system dead-letter queue if they were sent to a transactional queue.
<12> Section 3.1.1.12: The maximum allowed value of the TimeToReachQueue ADM attribute can be configured by setting a value in the registry key HKEY_LOCAL_MACHINE\software\microsoft\msmq\parameters\MachineCache\LongLiveTime. When this key is absent, the default maximum is 0x54600 (345,600 seconds = 4 days). On Windows NT, Windows 2000, Windows XP, and Windows Server 2003, when this key is absent, the default maximum is 0x76A700 (7,776,000 seconds = 90 days).
<13> Section 3.1.1.12: For Windows NT, the following hash algorithms are supported: MD2 [RFC1319], MD4 [RFC1320], MD5 [RFC1321]. For Windows 2000, Windows XP, and Windows Server 2003, the following hash algorithm is supported in addition to the algorithms listed preceding: SHA-1 [RFC3110].
<14> Section 3.1.1.12: For Windows NT, Windows 2000, Windows XP, and Windows Server 2003, the default value is MD5 [RFC1321].
<15> Section 3.1.1.12: Windows NT, Windows 2000, Windows XP, and Windows Server 2003 support only the following encryption algorithms and key lengths:
<16> Section 3.1.1.12: For Windows NT, Windows 2000, Windows XP, and Windows Server 2003, the default value is RC2 [RFC2268].
<17> Section 3.1.3: For Windows NT and Windows 2000, the queue manager uses the MSMQ: Directory Service Discovery Protocol [MS-MQSD] by calling the Get Directory Server List Higher-Layer Triggered Event ([MS-MQSD] section 3.1.4.1). The DirectoryServerList ADM attribute of the local QueueManager ADM element instance is populated with the names of MSMQ Directory Service servers.
<18> Section 3.1.3: Windows NT, Windows 2000, Windows XP, and Windows Server 2003 do not use "Microsoft Enhanced RSA and AES Cryptographic Provider".
<19> Section 3.1.3: Windows NT, Windows 2000, Windows XP, and Windows Server 2003 do not use "Microsoft Enhanced RSA and AES Cryptographic Provider".
<20> Section 3.1.7.1.3.1: Windows XP and Windows Server 2003 do not perform this step.
<21> Section 3.1.7.1.18: For Windows XP and Windows Server 2003, the queue manager performs the actions listed following instead of generating a Send Change Notification ([MS-MQCN] section 3.3.4.1) event:
Define iComputerName as a string that contains the NetBIOS name of the computer that hosts the queue. This can be extracted from the Pathname ADM attribute of the Queue ADM element instance representing that queue. The processing rules for this extraction can be inferred from [MS-MQMQ] section 2.1.1.
Generate a Read Directory (section 3.1.7.1.20) event with the following arguments:
iDirectoryObjectType := "QueueManager"
iFilter : = An array of the following attribute-filter expressions:
"ComputerName" EQUALS iComputerName
If the rStatus returned by the Read Directory event is set to DirectoryOperationResult.Success:
Define iRemoteQueueManager as a reference to a QueueManager (section 3.1.1.1) ADM element instance, and set it to the returned rDirectoryObject argument.
If the iRemoteQueueManager.OperatingSystemVersion string starts with "4.0" or "5.0":
If the LocalQueueManager.EnterpriseReference.NonLDAPCapableQueueManagerNotification is set to True:
Delegate processing of this event to the Create Directory Object ([MS-MQDS] section 3.2.6.1) event.
Stop processing the Create Directory Object (section 3.1.7.1.18) event.
<22> Section 3.1.7.1.18: For Windows NT and Windows 2000, the queue manager uses the directory service protocol specified in [MS-MQDS].
<23> Section 3.1.7.1.19: For Windows XP and Windows Server 2003, the queue manager performs the following actions instead of generating a Send Change Notification ([MS-MQCN] section 3.3.4.1) event:
Define iComputerName as a string that contains the NetBIOS name of the computer that hosts the queue. This can be extracted from Pathname of the Queue (section 3.1.1.2) ADM element instance representing that queue. The processing rules for this extraction can be inferred from [MS-MQMQ] section 2.1.1.
Generate a Read Directory (section 3.1.7.1.20) event with the following arguments:
iDirectoryObjectType := "QueueManager"
iFilter : = An array of the following attribute-filter expressions:
"ComputerName" EQUALS iComputerName
If the rStatus returned by the Read Directory event is set to DirectoryOperationResult.Success:
Define iRemoteQueueManager as a reference to a QueueManager ADM element instance and set it to the returned rDirectoryObject.
If the iRemoteQueueManager.OperatingSystemVersion string starts with "4.0" or "5.0":
If the LocalQueueManager.EnterpriseReference.NonLDAPCapableQueueManagerNotification is set to True:
Delegate processing of this event to the Delete Directory Object ([MS-MQDS] section 3.2.6.2) event.
Stop processing the Delete Directory Object (section 3.1.7.1.19) event.
<24> Section 3.1.7.1.19: For Windows NT and Windows 2000, the queue manager uses the [MS-MQDS] protocol.
<25> Section 3.1.7.1.20: For Windows NT and Windows 2000, the queue manager uses the MSMQ: Directory Service Protocol [MS-MQDS].
<26> Section 3.1.7.1.21: For Windows NT and Windows 2000, the queue manager uses the Message Queuing (MSMQ): Directory Service Protocol [MS-MQDS].
<27> Section 3.1.7.1.22: For Windows NT and Windows 2000, the queue manager uses the directory service protocol specified in [MS-MQDS].
<28> Section 3.1.7.1.23: For Windows NT and Windows 2000, the queue manager uses the directory service protocol specified in [MS-MQDS].
<29> Section 3.1.7.1.24: For Windows NT and Windows 2000, the queue manager uses the directory service protocol specified in [MS-MQDS].
<30> Section 3.1.7.1.24: For Windows XP and Windows Server 2003, the queue manager performs the following instead of generating a Send Change Notification ([MS-MQCN] section 3.3.4.1) event:
Define iComputerName as a string that will contain the NetBIOS name of the computer that hosts the queue that has been modified.
Extract the NetBIOS name of the computer that hosts the queue from the Pathname ADM attribute of the Queue ADM element instance representing that queue. Set iComputerName to this value. The processing rules for this extraction can be inferred from [MS-MQMQ] section 2.1.1.
Generate a Read Directory (section 3.1.7.1.20) event with the following arguments:
iDirectoryObjectType := "QueueManager"
iFilter : = An array of the following attribute-filter expressions:
"ComputerName" EQUALS iComputerName
If the rStatus returned by the Read Directory event is set to DirectoryOperationResult.Success:
Define iRemoteQueueManager as a reference to a QueueManager ADM element instance and set it to the returned rDirectoryObject.
If the iRemoteQueueManager.OperatingSystemVersion string starts with "4.0" or "5.0":
If LocalQueueManager.EnterpriseReference.NonLDAPCapableQueueManagerNotification is set to True:
Delegate processing of this event to the Write Directory ([MS-MQDS] section 3.2.6.7) event.
Stop processing the Write Directory (section 3.1.7.1.24) event.
<31> Section 3.1.7.1.24: For Windows XP and Windows Server 2003, the queue manager performs the following instead of generating a Send Change Notification ([MS-MQCN] section 3.3.4.1) event:
Define iComputerName as a string that will contain the NetBIOS name of the computer that hosts the queue manager that has been modified.
Set iComputerName to iDirectoryObject.ComputerName.
Generate a Read Directory (section 3.1.7.1.20) event with the following arguments:
iDirectoryObjectType := "QueueManager"
iFilter : = An array of the following attribute-filter expressions:
"ComputerName" EQUALS iComputerName
If the rStatus returned by the Read Directory event is set to DirectoryOperationResult.Success:
Define iRemoteQueueManager as a reference to a QueueManager ADM element instance and set it to the returned rDirectoryObject.
If the iRemoteQueueManager.OperatingSystemVersion string starts with "4.0" or "5.0":
If the LocalQueueManager.EnterpriseReference.NonLDAPCapableQueueManagerNotification is set to True:
Delegate processing of this event to the Write Directory ([MS-MQDS] section 3.2.6.7) event.
Stop processing the Write Directory (section 3.1.7.1.24) event.