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:

  • RC2 with 40-bit and 128-bit key length [RFC2268]

  • RC4 with 40-bit and 128-bit key length [RFC4757]

<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":

<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":

<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.