WebSphere MQ .NET Connection Example

This is an simple example of how to use .NET 2.0 to connect as a client to WebSphere MQ 7.

First, you need to setup a QueueManager, Channel, and Queue on a host and particular port.  This may already be done for those lucky enough to have an MQ adminstrator.

WebSphere MQ Explorer Screenshot

Here is a screen shot of what this looks like in WebSphere’s MQ Explorer.

Second, you’ll need to add a reference to the amqmdnet.dll provided by WebSphere.  If you installed WebSphere MQ server then you’ll have it already in the bin directory of your WebSphere installation.

The amqmdnet.dll that you reference also references a different dll, amqmdxcs.dll.  You must include this in your project bin or wherever you choose to put these dlls.

If you are using the dll’s from WebSphere MQ 7, you’ll be fine.  I’ve tested this connection example against both WebSphere 6 and WebSphere 7 (both using version 7′s dlls).  However, if you decide to use version 6 dlls you’ll need more dlls than the two mentioned here.  You may even have trouble (as I’ve had) using diferent minor versions of the version 6 dlls.  So, if you can, use version 7 dlls.

Also note: There are some security features and some event features that are not included in the .NET dlls provided by WebSphere that are used in the java implementations.

Without further ado, the example code for a simple connection to WebSphere MQ using a .NET client:


using System;
using IBM.WMQ; // Added reference to "C:\Program Files\ibm\WebSphereMQ\bin\amqmdnet.dll"
using System.Collections;

namespace TestWebsphereMQ
{    
    public class WMQTester
    {
        static void Main(string[] args)
        {            
            // Setup some test data
            string queueManagerName = "QM_TEST";
            string host = "127.0.0.1";
            int port = 1415;
            string channel = "QM_TEST.SVRCONN";

            WMQTester tester = new WMQTester();
            tester.Connect(queueManagerName, host, port, channel);
        }

        public MQQueueManager Connect(
               string queueManagerName, 
               string host, 
               int port, 
               string channel)
        {
            MQQueueManager queueManager; 

            // Setup connection information                  
            Hashtable queueProperties = new Hashtable();
            queueProperties[MQC.HOST_NAME_PROPERTY] = host;
            queueProperties[MQC.PORT_PROPERTY] = port;
            queueProperties[MQC.CHANNEL_PROPERTY] = channel;                                   

            try
            {             
                // Attempt the connection
                queueManager = new MQQueueManager(queueManagerName, queueProperties); 
                Console.WriteLine("Connected Successfully");
            }
            catch (MQException mexc)
            {
                // TODO: Setup other exception handling
                throw new Exception(mexc.Message
                           + " ReasonCode: " + mexc.ReasonCode
                           + "--- see list of Reason Codes at http://russsutton.com/developer/?p=45 "
                           + mexc.StackTrace, mexc);
            }

            // For now, return the queueManager to use in reading/writing messages next
            return queueManager;
        } 
    }
}

Hope that helps!  I banged my head on the wall a few times with the different versions of dlls and finding the lack of features in the WebSphere-provided .NET implementation that are readily available in the java implementations.

Websphere MQ Listener for .NET 2.0

The goal is to listen indefinitely for a message to arrive on a queue and then handle that message.  While you are waiting in the “listening” state, you don’t want to tie up resources.

For MSMQ, you register a callback method with the PeekCompleted event provided.  Then call the BeginPeek method and you can now continue with processing something else while you let that “thread” wait for a message to arrive.  When a message arrives on the queue, the call back method you assigned is executed and you grab the message with the Receive() method.

I needed an adapter for .NET clients to listen to WMQ for messages indefinitely that would be similar to the syntax used for consuming MSMQ messages.  I never found (doesn’t mean it doesn’t exist) a way provided by Websphere to implement this with the dll’s they provide for .NET implementations.  Here is what I came up with…

Below you’ll find:

  1. WMQQueueListener class: Listens to Websphere MQ indefintely for a particular QueueManager and Queue that you have connected to.  I can provide connection code, too, if you ask nicely and leave a comment below.  This class holds the event used.
  2. OnMessage method: A callback method you will create to handle the message you receive from MQ.  The name of this method was chosen to be the same as that provided by the java side Websphere MQ implementation.  I added the message in the args passed in to this method.
  3. WMQPeekCompleteEventArgs class: The event args that send the body of the message to your callback method.
  4. Main method: An example for how to setup the listener and register the OnMessage method to be called when a message arrives.
  
/// <summary>
/// C# class for exposing a listener/poller for WMQ .NET clients.
/// </summary>
public sealed class WMQQueueListener
{
    public event EventHandler<WMQPeekCompleteEventArgs> PeekMessageCompleted;

    protected void BeginPeekMessage(MQQueueManager queueManager, MQQueue queue)
    {  
        // Setup MQ GetMessageOptions & Message
        MQGetMessageOptions options = new MQGetMessageOptions();
        options.Options = MQC.MQGMO_FAIL_IF_QUIESCING | MQC.MQGMO_WAIT;
        options.WaitInterval = MQC.MQWI_UNLIMITED;
        MQMessage mqMessage = new MQMessage();            

        // Wait for message
        queue.Get(mqMessage, options);
        
        // Fire event
        OnPeekMessageCompleted(mqMessage);       
    }

    private void OnPeekMessageCompleted(MQMessagemqMessage)
    {
        if (PeekMessageCompleted != null)
        {
            // Create event args for event/eventhandlers
            WMQPeekCompleteEventArgs peekCompleteEventArgs = new WMQPeekCompleteEventArgs();
            peekCompleteEventArgs.Message = mqMessage.ReadString(mqMessage.MessageLength);
    
            // Fire "found message" event
            PeekMessageCompleted(this, peekCompleteEventArgs);
        }
    }   
}

/// <summary>
/// C# class for to allow the event fired by the WMQQueueListener 
/// to send the message it received back to a subscriber.
/// </summary>
public class WMQPeekCompleteEventArgs  : EventArgs
{
    public WMQPeekCompleteEventArgs() { }
    private string _message;                
    public string Message
    {
        get { return _message; }
        set {_message = value; }
    }
}



// Callback method similar to PeekCompleted handler in MSMQ, but named for
// Websphere's implementation.
public void OnMessage(Object source, WMQPeekCompleteEventArgs args)        
{                        
    try
    {    
        string body = args.Message;
        // TODO: Process the message you receive here
    }
}



// Test your work here
static void Main(string[] args)
{
    WMQQueueListener inputQueueListener = new WMQQueueListener();
    // TODO: Need to test whether a connection is available to WMQ
    inputQueueListener.PeekMessageCompleted += OnMessage;
    inputQueueListener.BeginPeekMessage(queueManager, queue);

    // Here you can go about other business while the listener waits
    // to fire the OnMessage you create (similar to PeekCompleted for MSMQ).
}


I admit this needs some cleanup with logging and exception handling, but the
main points are here.  If you are interested in more please comment and I'll
see what I can do.

WebSphere MQ Reason Codes (Error Codes)

I found this list of reason codes here:  http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp.  For your convenience I’ve included them here as well.

# 0 (0000) (RC0): MQRC_NONE
# 900 (0384) (RC900): MQRC_APPL_FIRST
# 999 (03E7) (RC999): MQRC_APPL_LAST
# 2001 (07D1) (RC2001): MQRC_ALIAS_BASE_Q_TYPE_ERROR
# 2002 (07D2) (RC2002): MQRC_ALREADY_CONNECTED
# 2003 (07D3) (RC2003): MQRC_BACKED_OUT
# 2004 (07D4) (RC2004): MQRC_BUFFER_ERROR
# 2005 (07D5) (RC2005): MQRC_BUFFER_LENGTH_ERROR
# 2006 (07D6) (RC2006): MQRC_CHAR_ATTR_LENGTH_ERROR
# 2007 (07D7) (RC2007): MQRC_CHAR_ATTRS_ERROR
# 2008 (07D8) (RC2008): MQRC_CHAR_ATTRS_TOO_SHORT
# 2009 (07D9) (RC2009): MQRC_CONNECTION_BROKEN
# 2010 (07DA) (RC2010): MQRC_DATA_LENGTH_ERROR
# 2011 (07DB) (RC2011): MQRC_DYNAMIC_Q_NAME_ERROR
# 2012 (07DC) (RC2012): MQRC_ENVIRONMENT_ERROR
# 2013 (07DD) (RC2013): MQRC_EXPIRY_ERROR
# 2014 (07DE) (RC2014): MQRC_FEEDBACK_ERROR
# 2016 (07E0) (RC2016): MQRC_GET_INHIBITED
# 2017 (07E1) (RC2017): MQRC_HANDLE_NOT_AVAILABLE
# 2018 (07E2) (RC2018): MQRC_HCONN_ERROR
# 2019 (07E3) (RC2019): MQRC_HOBJ_ERROR
# 2020 (07E4) (RC2020): MQRC_INHIBIT_VALUE_ERROR
# 2021 (07E5) (RC2021): MQRC_INT_ATTR_COUNT_ERROR
# 2022 (07E6) (RC2022): MQRC_INT_ATTR_COUNT_TOO_SMALL
# 2023 (07E7) (RC2023): MQRC_INT_ATTRS_ARRAY_ERROR
# 2024 (07E8) (RC2024): MQRC_SYNCPOINT_LIMIT_REACHED
# 2025 (07E9) (RC2025): MQRC_MAX_CONNS_LIMIT_REACHED
# 2026 (07EA) (RC2026): MQRC_MD_ERROR
# 2027 (07EB) (RC2027): MQRC_MISSING_REPLY_TO_Q
# 2029 (07ED) (RC2029): MQRC_MSG_TYPE_ERROR
# 2030 (07EE) (RC2030): MQRC_MSG_TOO_BIG_FOR_Q
# 2031 (07EF) (RC2031): MQRC_MSG_TOO_BIG_FOR_Q_MGR
# 2033 (07F1) (RC2033): MQRC_NO_MSG_AVAILABLE
# 2034 (07F2) (RC2034): MQRC_NO_MSG_UNDER_CURSOR
# 2035 (07F3) (RC2035): MQRC_NOT_AUTHORIZED
# 2036 (07F4) (RC2036): MQRC_NOT_OPEN_FOR_BROWSE
# 2037 (07F5) (RC2037): MQRC_NOT_OPEN_FOR_INPUT
# 2038 (07F6) (RC2038): MQRC_NOT_OPEN_FOR_INQUIRE
# 2039 (07F7) (RC2039): MQRC_NOT_OPEN_FOR_OUTPUT
# 2040 (07F8) (RC2040): MQRC_NOT_OPEN_FOR_SET
# 2041 (07F9) (RC2041): MQRC_OBJECT_CHANGED
# 2042 (07FA) (RC2042): MQRC_OBJECT_IN_USE
# 2043 (07FB) (RC2043): MQRC_OBJECT_TYPE_ERROR
# 2044 (07FC) (RC2044): MQRC_OD_ERROR
# 2045 (07FD) (RC2045): MQRC_OPTION_NOT_VALID_FOR_TYPE
# 2046 (07FE) (RC2046): MQRC_OPTIONS_ERROR
# 2047 (07FF) (RC2047): MQRC_PERSISTENCE_ERROR
# 2048 (0800) (RC2048): MQRC_PERSISTENT_NOT_ALLOWED
# 2049 (0801) (RC2049): MQRC_PRIORITY_EXCEEDS_MAXIMUM
# 2050 (0802) (RC2050): MQRC_PRIORITY_ERROR
# 2051 (0803) (RC2051): MQRC_PUT_INHIBITED
# 2052 (0804) (RC2052): MQRC_Q_DELETED
# 2053 (0805) (RC2053): MQRC_Q_FULL
# 2055 (0807) (RC2055): MQRC_Q_NOT_EMPTY
# 2056 (0808) (RC2056): MQRC_Q_SPACE_NOT_AVAILABLE
# 2057 (0809) (RC2057): MQRC_Q_TYPE_ERROR
# 2058 (080A) (RC2058): MQRC_Q_MGR_NAME_ERROR
# 2059 (080B) (RC2059): MQRC_Q_MGR_NOT_AVAILABLE
# 2061 (080D) (RC2061): MQRC_REPORT_OPTIONS_ERROR
# 2062 (080E) (RC2062): MQRC_SECOND_MARK_NOT_ALLOWED
# 2063 (080F) (RC2063): MQRC_SECURITY_ERROR
# 2065 (0811) (RC2065): MQRC_SELECTOR_COUNT_ERROR
# 2066 (0812) (RC2066): MQRC_SELECTOR_LIMIT_EXCEEDED
# 2067 (0813) (RC2067): MQRC_SELECTOR_ERROR
# 2068 (0814) (RC2068): MQRC_SELECTOR_NOT_FOR_TYPE
# 2069 (0815) (RC2069): MQRC_SIGNAL_OUTSTANDING
# 2070 (0816) (RC2070): MQRC_SIGNAL_REQUEST_ACCEPTED
# 2071 (0817) (RC2071): MQRC_STORAGE_NOT_AVAILABLE
# 2072 (0818) (RC2072): MQRC_SYNCPOINT_NOT_AVAILABLE
# 2075 (081B) (RC2075): MQRC_TRIGGER_CONTROL_ERROR
# 2076 (081C) (RC2076): MQRC_TRIGGER_DEPTH_ERROR
# 2077 (081D) (RC2077): MQRC_TRIGGER_MSG_PRIORITY_ERR
# 2078 (081E) (RC2078): MQRC_TRIGGER_TYPE_ERROR
# 2079 (081F) (RC2079): MQRC_TRUNCATED_MSG_ACCEPTED
# 2080 (0820) (RC2080): MQRC_TRUNCATED_MSG_FAILED
# 2082 (0822) (RC2082): MQRC_UNKNOWN_ALIAS_BASE_Q
# 2085 (0825) (RC2085): MQRC_UNKNOWN_OBJECT_NAME
# 2086 (0826) (RC2086): MQRC_UNKNOWN_OBJECT_Q_MGR
# 2087 (0827) (RC2087): MQRC_UNKNOWN_REMOTE_Q_MGR
# 2090 (082A) (RC2090): MQRC_WAIT_INTERVAL_ERROR
# 2091 (082B) (RC2091): MQRC_XMIT_Q_TYPE_ERROR
# 2092 (082C) (RC2092): MQRC_XMIT_Q_USAGE_ERROR
# 2093 (082D) (RC2093): MQRC_NOT_OPEN_FOR_PASS_ALL
# 2094 (082E) (RC2094): MQRC_NOT_OPEN_FOR_PASS_IDENT
# 2095 (082F) (RC2095): MQRC_NOT_OPEN_FOR_SET_ALL
# 2096 (0830) (RC2096): MQRC_NOT_OPEN_FOR_SET_IDENT
# 2097 (0831) (RC2097): MQRC_CONTEXT_HANDLE_ERROR
# 2098 (0832) (RC2098): MQRC_CONTEXT_NOT_AVAILABLE
# 2099 (0833) (RC2099): MQRC_SIGNAL1_ERROR
# 2100 (0834) (RC2100): MQRC_OBJECT_ALREADY_EXISTS
# 2101 (0835) (RC2101): MQRC_OBJECT_DAMAGED
# 2102 (0836) (RC2102): MQRC_RESOURCE_PROBLEM
# 2103 (0837) (RC2103): MQRC_ANOTHER_Q_MGR_CONNECTED
# 2104 (0838) (RC2104): MQRC_UNKNOWN_REPORT_OPTION
# 2105 (0839) (RC2105): MQRC_STORAGE_CLASS_ERROR
# 2106 (083A) (RC2106): MQRC_COD_NOT_VALID_FOR_XCF_Q
# 2107 (083B) (RC2107): MQRC_XWAIT_CANCELED
# 2108 (083C) (RC2108): MQRC_XWAIT_ERROR
# 2109 (083D) (RC2109): MQRC_SUPPRESSED_BY_EXIT
# 2110 (083E) (RC2110): MQRC_FORMAT_ERROR
# 2111 (083F) (RC2111): MQRC_SOURCE_CCSID_ERROR
# 2112 (0840) (RC2112): MQRC_SOURCE_INTEGER_ENC_ERROR
# 2113 (0841) (RC2113): MQRC_SOURCE_DECIMAL_ENC_ERROR
# 2114 (0842) (RC2114): MQRC_SOURCE_FLOAT_ENC_ERROR
# 2115 (0843) (RC2115): MQRC_TARGET_CCSID_ERROR
# 2116 (0844) (RC2116): MQRC_TARGET_INTEGER_ENC_ERROR
# 2117 (0845) (RC2117): MQRC_TARGET_DECIMAL_ENC_ERROR
# 2118 (0846) (RC2118): MQRC_TARGET_FLOAT_ENC_ERROR
# 2119 (0847) (RC2119): MQRC_NOT_CONVERTED
# 2120 (0848) (RC2120): MQRC_CONVERTED_MSG_TOO_BIG
# 2121 (0849) (RC2121): MQRC_NO_EXTERNAL_PARTICIPANTS
# 2122 (084A) (RC2122): MQRC_PARTICIPANT_NOT_AVAILABLE
# 2123 (084B) (RC2123): MQRC_OUTCOME_MIXED
# 2124 (084C) (RC2124): MQRC_OUTCOME_PENDING
# 2125 (084D) (RC2125): MQRC_BRIDGE_STARTED
# 2126 (084E) (RC2126): MQRC_BRIDGE_STOPPED
# 2127 (084F) (RC2127): MQRC_ADAPTER_STORAGE_SHORTAGE
# 2128 (0850) (RC2128): MQRC_UOW_IN_PROGRESS
# 2129 (0851) (RC2129): MQRC_ADAPTER_CONN_LOAD_ERROR
# 2130 (0852) (RC2130): MQRC_ADAPTER_SERV_LOAD_ERROR
# 2131 (0853) (RC2131): MQRC_ADAPTER_DEFS_ERROR
# 2132 (0854) (RC2132): MQRC_ADAPTER_DEFS_LOAD_ERROR
# 2133 (0855) (RC2133): MQRC_ADAPTER_CONV_LOAD_ERROR
# 2134 (0856) (RC2134): MQRC_BO_ERROR
# 2135 (0857) (RC2135): MQRC_DH_ERROR
# 2136 (0858) (RC2136): MQRC_MULTIPLE_REASONS
# 2137 (0859) (RC2137): MQRC_OPEN_FAILED
# 2138 (085A) (RC2138): MQRC_ADAPTER_DISC_LOAD_ERROR
# 2139 (085B) (RC2139): MQRC_CNO_ERROR
# 2140 (085C) (RC2140): MQRC_CICS_WAIT_FAILED
# 2141 (085D) (RC2141): MQRC_DLH_ERROR
# 2142 (085E) (RC2142): MQRC_HEADER_ERROR
# 2143 (085F) (RC2143): MQRC_SOURCE_LENGTH_ERROR
# 2144 (0860) (RC2144): MQRC_TARGET_LENGTH_ERROR
# 2145 (0861) (RC2145): MQRC_SOURCE_BUFFER_ERROR
# 2146 (0862) (RC2146): MQRC_TARGET_BUFFER_ERROR
# 2148 (0864) (RC2148): MQRC_IIH_ERROR
# 2149 (0865) (RC2149): MQRC_PCF_ERROR
# 2150 (0866) (RC2150): MQRC_DBCS_ERROR
# 2152 (0868) (RC2152): MQRC_OBJECT_NAME_ERROR
# 2153 (0869) (RC2153): MQRC_OBJECT_Q_MGR_NAME_ERROR
# 2154 (086A) (RC2154): MQRC_RECS_PRESENT_ERROR
# 2155 (086B) (RC2155): MQRC_OBJECT_RECORDS_ERROR
# 2156 (086C) (RC2156): MQRC_RESPONSE_RECORDS_ERROR
# 2157 (086D) (RC2157): MQRC_ASID_MISMATCH
# 2158 (086E) (RC2158): MQRC_PMO_RECORD_FLAGS_ERROR
# 2159 (086F) (RC2159): MQRC_PUT_MSG_RECORDS_ERROR
# 2160 (0870) (RC2160): MQRC_CONN_ID_IN_USE
# 2161 (0871) (RC2161): MQRC_Q_MGR_QUIESCING
# 2162 (0872) (RC2162): MQRC_Q_MGR_STOPPING
# 2163 (0873) (RC2163): MQRC_DUPLICATE_RECOV_COORD
# 2173 (087D) (RC2173): MQRC_PMO_ERROR
# 2183 (0887) (RC2183): MQRC_API_EXIT_LOAD_ERROR
# 2184 (0888) (RC2184): MQRC_REMOTE_Q_NAME_ERROR
# 2185 (0889) (RC2185): MQRC_INCONSISTENT_PERSISTENCE
# 2186 (088A) (RC2186): MQRC_GMO_ERROR
# 2187 (088B) (RC2187): MQRC_CICS_BRIDGE_RESTRICTION
# 2188 (088C) (RC2188): MQRC_STOPPED_BY_CLUSTER_EXIT
# 2189 (088D) (RC2189): MQRC_CLUSTER_RESOLUTION_ERROR
# 2190 (088E) (RC2190): MQRC_CONVERTED_STRING_TOO_BIG
# 2191 (088F) (RC2191): MQRC_TMC_ERROR
# 2192 (0890) (RC2192): MQRC_PAGESET_FULL
# 2192 (0890) (RC2192): MQRC_STORAGE_MEDIUM_FULL
# 2193 (0891) (RC2193): MQRC_PAGESET_ERROR
# 2194 (0892) (RC2194): MQRC_NAME_NOT_VALID_FOR_TYPE
# 2195 (0893) (RC2195): MQRC_UNEXPECTED_ERROR
# 2196 (0894) (RC2196): MQRC_UNKNOWN_XMIT_Q
# 2197 (0895) (RC2197): MQRC_UNKNOWN_DEF_XMIT_Q
# 2198 (0896) (RC2198): MQRC_DEF_XMIT_Q_TYPE_ERROR
# 2199 (0897) (RC2199): MQRC_DEF_XMIT_Q_USAGE_ERROR
# 2201 (0899) (RC2201): MQRC_NAME_IN_USE
# 2202 (089A) (RC2202): MQRC_CONNECTION_QUIESCING
# 2203 (089B) (RC2203): MQRC_CONNECTION_STOPPING
# 2204 (089C) (RC2204): MQRC_ADAPTER_NOT_AVAILABLE
# 2206 (089E) (RC2206): MQRC_MSG_ID_ERROR
# 2207 (089F) (RC2207): MQRC_CORREL_ID_ERROR
# 2208 (08A0) (RC2208): MQRC_FILE_SYSTEM_ERROR
# 2209 (08A1) (RC2209): MQRC_NO_MSG_LOCKED
# 2210 (08A2) (RC2210): MQRC_SOAP_DOTNET_ERROR
# 2211 (08A3) (RC2211): MQRC_SOAP_AXIS_ERROR
# 2212 (08A4) (RC2212): MQRC_SOAP_URL_ERROR
# 2217 (08A9) (RC2217): MQRC_CONNECTION_NOT_AUTHORIZED
# 2218 (08AA) (RC2218): MQRC_MSG_TOO_BIG_FOR_CHANNEL
# 2219 (08AB) (RC2219): MQRC_CALL_IN_PROGRESS
# 2220 (08AC) (RC2220): MQRC_RMH_ERROR
# 2222 (08AE) (RC2222): MQRC_Q_MGR_ACTIVE
# 2223 (08AF) (RC2223): MQRC_Q_MGR_NOT_ACTIVE
# 2224 (08B0) (RC2224): MQRC_Q_DEPTH_HIGH
# 2225 (08B1) (RC2225): MQRC_Q_DEPTH_LOW
# 2226 (08B2) (RC2226): MQRC_Q_SERVICE_INTERVAL_HIGH
# 2227 (08B3) (RC2227): MQRC_Q_SERVICE_INTERVAL_OK
# 2228 (08B4) (RC2228): MQRC_RFH_HEADER_FIELD_ERROR
# 2229 (08B5) (RC2229): MQRC_RAS_PROPERTY_ERROR
# 2232 (08B8) (RC2232): MQRC_UNIT_OF_WORK_NOT_STARTED
# 2233 (08B9) (RC2233): MQRC_CHANNEL_AUTO_DEF_OK
# 2234 (08BA) (RC2234): MQRC_CHANNEL_AUTO_DEF_ERROR
# 2235 (08BB) (RC2235): MQRC_CFH_ERROR
# 2236 (08BC) (RC2236): MQRC_CFIL_ERROR
# 2237 (08BD) (RC2237): MQRC_CFIN_ERROR
# 2238 (08BE) (RC2238): MQRC_CFSL_ERROR
# 2239 (08BF) (RC2239): MQRC_CFST_ERROR
# 2241 (08C1) (RC2241): MQRC_INCOMPLETE_GROUP
# 2242 (08C2) (RC2242): MQRC_INCOMPLETE_MSG
# 2243 (08C3) (RC2243): MQRC_INCONSISTENT_CCSIDS
# 2244 (08C4) (RC2244): MQRC_INCONSISTENT_ENCODINGS
# 2245 (08C5) (RC2245): MQRC_INCONSISTENT_UOW
# 2246 (08C6) (RC2246): MQRC_INVALID_MSG_UNDER_CURSOR
# 2247 (08C7) (RC2247): MQRC_MATCH_OPTIONS_ERROR
# 2248 (08C8) (RC2248): MQRC_MDE_ERROR
# 2249 (08C9) (RC2249): MQRC_MSG_FLAGS_ERROR
# 2250 (08CA) (RC2250): MQRC_MSG_SEQ_NUMBER_ERROR
# 2251 (08CB) (RC2251): MQRC_OFFSET_ERROR
# 2252 (08CC) (RC2252): MQRC_ORIGINAL_LENGTH_ERROR
# 2253 (08CD) (RC2253): MQRC_SEGMENT_LENGTH_ZERO
# 2255 (08CF) (RC2255): MQRC_UOW_NOT_AVAILABLE
# 2256 (08D0) (RC2256): MQRC_WRONG_GMO_VERSION
# 2257 (08D1) (RC2257): MQRC_WRONG_MD_VERSION
# 2258 (08D2) (RC2258): MQRC_GROUP_ID_ERROR
# 2259 (08D3) (RC2259): MQRC_INCONSISTENT_BROWSE
# 2260 (08D4) (RC2260): MQRC_XQH_ERROR
# 2261 (08D5) (RC2261): MQRC_SRC_ENV_ERROR
# 2262 (08D6) (RC2262): MQRC_SRC_NAME_ERROR
# 2263 (08D7) (RC2263): MQRC_DEST_ENV_ERROR
# 2264 (08D8) (RC2264): MQRC_DEST_NAME_ERROR
# 2265 (08D9) (RC2265): MQRC_TM_ERROR
# 2266 (08DA) (RC2266): MQRC_CLUSTER_EXIT_ERROR
# 2267 (08DB) (RC2267): MQRC_CLUSTER_EXIT_LOAD_ERROR
# 2268 (08DC) (RC2268): MQRC_CLUSTER_PUT_INHIBITED
# 2269 (08DD) (RC2269): MQRC_CLUSTER_RESOURCE_ERROR
# 2270 (08DE) (RC2270): MQRC_NO_DESTINATIONS_AVAILABLE
# 2271 (08DF) (RC2271): MQRC_CONN_TAG_IN_USE
# 2272 (08E0) (RC2272): MQRC_PARTIALLY_CONVERTED
# 2273 (08E1) (RC2273): MQRC_CONNECTION_ERROR
# 2274 (08E2) (RC2274): MQRC_OPTION_ENVIRONMENT_ERROR
# 2277 (08E5) (RC2277): MQRC_CD_ERROR
# 2278 (08E6) (RC2278): MQRC_CLIENT_CONN_ERROR
# 2279 (08E7) (RC2279): MQRC_CHANNEL_STOPPED_BY_USER
# 2280 (08E8) (RC2280): MQRC_HCONFIG_ERROR
# 2281 (08E9) (RC2281): MQRC_FUNCTION_ERROR
# 2282 (08EA) (RC2282): MQRC_CHANNEL_STARTED
# 2283 (08EB) (RC2283): MQRC_CHANNEL_STOPPED
# 2284 (08EC) (RC2284): MQRC_CHANNEL_CONV_ERROR
# 2285 (08ED) (RC2285): MQRC_SERVICE_NOT_AVAILABLE
# 2286 (08EE) (RC2286): MQRC_INITIALIZATION_FAILED
# 2287 (08EF) (RC2287): MQRC_TERMINATION_FAILED
# 2288 (08F0) (RC2288): MQRC_UNKNOWN_Q_NAME
# 2289 (08F1) (RC2289): MQRC_SERVICE_ERROR
# 2290 (08F2) (RC2290): MQRC_Q_ALREADY_EXISTS
# 2291 (08F3) (RC2291): MQRC_USER_ID_NOT_AVAILABLE
# 2292 (08F4) (RC2292): MQRC_UNKNOWN_ENTITY
# 2294 (08F6) (RC2294): MQRC_UNKNOWN_REF_OBJECT
# 2295 (08F7) (RC2295): MQRC_CHANNEL_ACTIVATED
# 2296 (08F8) (RC2296): MQRC_CHANNEL_NOT_ACTIVATED
# 2297 (08F9) (RC2297): MQRC_UOW_CANCELED
# 2298 (08FA) (RC2298): MQRC_FUNCTION_NOT_SUPPORTED
# 2299 (08FB) (RC2299): MQRC_SELECTOR_TYPE_ERROR
# 2300 (08FC) (RC2300): MQRC_COMMAND_TYPE_ERROR
# 2301 (08FD) (RC2301): MQRC_MULTIPLE_INSTANCE_ERROR
# 2302 (08FE) (RC2302): MQRC_SYSTEM_ITEM_NOT_ALTERABLE
# 2303 (08FF) (RC2303): MQRC_BAG_CONVERSION_ERROR
# 2304 (0900) (RC2304): MQRC_SELECTOR_OUT_OF_RANGE
# 2305 (0901) (RC2305): MQRC_SELECTOR_NOT_UNIQUE
# 2306 (0902) (RC2306): MQRC_INDEX_NOT_PRESENT
# 2307 (0903) (RC2307): MQRC_STRING_ERROR
# 2308 (0904) (RC2308): MQRC_ENCODING_NOT_SUPPORTED
# 2309 (0905) (RC2309): MQRC_SELECTOR_NOT_PRESENT
# 2310 (0906) (RC2310): MQRC_OUT_SELECTOR_ERROR
# 2311 (0907) (RC2311): MQRC_STRING_TRUNCATED
# 2312 (0908) (RC2312): MQRC_SELECTOR_WRONG_TYPE
# 2313 (0909) (RC2313): MQRC_INCONSISTENT_ITEM_TYPE
# 2314 (090A) (RC2314): MQRC_INDEX_ERROR
# 2315 (090B) (RC2315): MQRC_SYSTEM_BAG_NOT_ALTERABLE
# 2316 (090C) (RC2316): MQRC_ITEM_COUNT_ERROR
# 2317 (090D) (RC2317): MQRC_FORMAT_NOT_SUPPORTED
# 2318 (090E) (RC2318): MQRC_SELECTOR_NOT_SUPPORTED
# 2319 (090F) (RC2319): MQRC_ITEM_VALUE_ERROR
# 2320 (0910) (RC2320): MQRC_HBAG_ERROR
# 2321 (0911) (RC2321): MQRC_PARAMETER_MISSING
# 2322 (0912) (RC2322): MQRC_CMD_SERVER_NOT_AVAILABLE
# 2323 (0913) (RC2323): MQRC_STRING_LENGTH_ERROR
# 2324 (0914) (RC2324): MQRC_INQUIRY_COMMAND_ERROR
# 2325 (0915) (RC2325): MQRC_NESTED_BAG_NOT_SUPPORTED
# 2326 (0916) (RC2326): MQRC_BAG_WRONG_TYPE
# 2327 (0917) (RC2327): MQRC_ITEM_TYPE_ERROR
# 2328 (0918) (RC2328): MQRC_SYSTEM_BAG_NOT_DELETABLE
# 2329 (0919) (RC2329): MQRC_SYSTEM_ITEM_NOT_DELETABLE
# 2330 (091A) (RC2330): MQRC_CODED_CHAR_SET_ID_ERROR
# 2331 (091B) (RC2331): MQRC_MSG_TOKEN_ERROR
# 2332 (091C) (RC2332): MQRC_MISSING_WIH
# 2333 (091D) (RC2333): MQRC_WIH_ERROR
# 2334 (091E) (RC2334): MQRC_RFH_ERROR
# 2335 (091F) (RC2335): MQRC_RFH_STRING_ERROR
# 2336 (0920) (RC2336): MQRC_RFH_COMMAND_ERROR
# 2337 (0921) (RC2337): MQRC_RFH_PARM_ERROR
# 2338 (0922) (RC2338): MQRC_RFH_DUPLICATE_PARM
# 2339 (0923) (RC2339): MQRC_RFH_PARM_MISSING
# 2340 (0924) (RC2340): MQRC_CHAR_CONVERSION_ERROR
# 2341 (0925) (RC2341): MQRC_UCS2_CONVERSION_ERROR
# 2342 (0926) (RC2342): MQRC_DB2_NOT_AVAILABLE
# 2343 (0927) (RC2343): MQRC_OBJECT_NOT_UNIQUE
# 2344 (0928) (RC2344): MQRC_CONN_TAG_NOT_RELEASED
# 2345 (0929) (RC2345): MQRC_CF_NOT_AVAILABLE
# 2346 (092A) (RC2346): MQRC_CF_STRUC_IN_USE
# 2347 (092B) (RC2347): MQRC_CF_STRUC_LIST_HDR_IN_USE
# 2348 (092C) (RC2348): MQRC_CF_STRUC_AUTH_FAILED
# 2349 (092D) (RC2349): MQRC_CF_STRUC_ERROR
# 2350 (092E) (RC2350): MQRC_CONN_TAG_NOT_USABLE
# 2351 (092F) (RC2351): MQRC_GLOBAL_UOW_CONFLICT
# 2352 (0930) (RC2352): MQRC_LOCAL_UOW_CONFLICT
# 2353 (0931) (RC2353): MQRC_HANDLE_IN_USE_FOR_UOW
# 2354 (0932) (RC2354): MQRC_UOW_ENLISTMENT_ERROR
# 2355 (0933) (RC2355): MQRC_UOW_MIX_NOT_SUPPORTED
# 2356 (0934) (RC2356): MQRC_WXP_ERROR
# 2357 (0935) (RC2357): MQRC_CURRENT_RECORD_ERROR
# 2358 (0936) (RC2358): MQRC_NEXT_OFFSET_ERROR
# 2359 (0937) (RC2359): MQRC_NO_RECORD_AVAILABLE
# 2360 (0938) (RC2360): MQRC_OBJECT_LEVEL_INCOMPATIBLE
# 2361 (0939) (RC2361): MQRC_NEXT_RECORD_ERROR
# 2362 (093A) (RC2362): MQRC_BACKOUT_THRESHOLD_REACHED
# 2363 (093B) (RC2363): MQRC_MSG_NOT_MATCHED
# 2364 (093C) (RC2364): MQRC_JMS_FORMAT_ERROR
# 2365 (093D) (RC2365): MQRC_SEGMENTS_NOT_SUPPORTED
# 2366 (093E) (RC2366): MQRC_WRONG_CF_LEVEL
# 2367 (093F) (RC2367): MQRC_CONFIG_CREATE_OBJECT
# 2368 (0940) (RC2368): MQRC_CONFIG_CHANGE_OBJECT
# 2369 (0941) (RC2369): MQRC_CONFIG_DELETE_OBJECT
# 2370 (0942) (RC2370): MQRC_CONFIG_REFRESH_OBJECT
# 2371 (0943) (RC2371): MQRC_CHANNEL_SSL_ERROR
# 2373 (0945) (RC2373): MQRC_CF_STRUC_FAILED
# 2374 (0946) (RC2374): MQRC_API_EXIT_ERROR
# 2375 (0947) (RC2375): MQRC_API_EXIT_INIT_ERROR
# 2376 (0948) (RC2376): MQRC_API_EXIT_TERM_ERROR
# 2377 (0949) (RC2377): MQRC_EXIT_REASON_ERROR
# 2378 (094A) (RC2378): MQRC_RESERVED_VALUE_ERROR
# 2379 (094B) (RC2379): MQRC_NO_DATA_AVAILABLE
# 2380 (094C) (RC2380): MQRC_SCO_ERROR
# 2381 (094D) (RC2381): MQRC_KEY_REPOSITORY_ERROR
# 2382 (094E) (RC2382): MQRC_CRYPTO_HARDWARE_ERROR
# 2383 (094F) (RC2383): MQRC_AUTH_INFO_REC_COUNT_ERROR
# 2384 (0950) (RC2384): MQRC_AUTH_INFO_REC_ERROR
# 2385 (0951) (RC2385): MQRC_AIR_ERROR
# 2386 (0952) (RC2386): MQRC_AUTH_INFO_TYPE_ERROR
# 2387 (0953) (RC2387): MQRC_AUTH_INFO_CONN_NAME_ERROR
# 2388 (0954) (RC2388): MQRC_LDAP_USER_NAME_ERROR
# 2389 (0955) (RC2389): MQRC_LDAP_USER_NAME_LENGTH_ERR
# 2390 (0956) (RC2390): MQRC_LDAP_PASSWORD_ERROR
# 2391 (0957) (RC2391): MQRC_SSL_ALREADY_INITIALIZED
# 2392 (0958) (RC2392): MQRC_SSL_CONFIG_ERROR
# 2393 (0959) (RC2393): MQRC_SSL_INITIALIZATION_ERROR
# 2394 (095A) (RC2394): MQRC_Q_INDEX_TYPE_ERROR
# 2395 (095B) (RC2395): MQRC_CFBS_ERROR
# 2396 (095C) (RC2396): MQRC_SSL_NOT_ALLOWED
# 2397 (095D) (RC2397): MQRC_JSSE_ERROR
# 2398 (095E) (RC2398): MQRC_SSL_PEER_NAME_MISMATCH
# 2399 (095F) (RC2399): MQRC_SSL_PEER_NAME_ERROR
# 2400 (0960) (RC2400): MQRC_UNSUPPORTED_CIPHER_SUITE
# 2401 (0961) (RC2401): MQRC_SSL_CERTIFICATE_REVOKED
# 2402 (0962) (RC2402): MQRC_SSL_CERT_STORE_ERROR
# 2406 (0966) (RC2406): MQRC_CLIENT_EXIT_LOAD_ERROR
# 2407 (0967) (RC2407): MQRC_CLIENT_EXIT_ERROR
# 2409 (0969) (RC2409): MQRC_SSL_KEY_RESET_ERROR
# 2411 (096B) (RC2411): MQRC_LOGGER_STATUS
# 2412 (096C) (RC2412): MQRC_COMMAND_MQSC
# 2413 (096D) (RC2413): MQRC_COMMAND_PCF
# 2414 (096E) (RC2414): MQRC_CFIF_ERROR
# 2415 (096F) (RC2415): MQRC_CFSF_ERROR
# 2416 (0970) (RC2416): MQRC_CFGR_ERROR
# 2417 (0971) (RC2417): MQRC_MSG_NOT_ALLOWED_IN_GROUP
# 2418 (0972) (RC2418): MQRC_FILTER_OPERATOR_ERROR
# 2419 (0973) (RC2419): MQRC_NESTED_SELECTOR_ERROR
# 2420 (0974) (RC2420): MQRC_EPH_ERROR
# 2421 (0975) (RC2421): MQRC_RFH_FORMAT_ERROR
# 2422 (0976) (RC2422): MQRC_CFBF_ERROR
# 2423 (0977) (RC2423): MQRC_CLIENT_CHANNEL_CONFLICT
# 2424 (0978) (RC2424): MQRC_SD_ERROR
# 2425 (0979) (RC2425): MQRC_TOPIC_STRING_ERROR
# 2426 (097A) (RC2426): MQRC_STS_ERROR
# 2428 (097C) (RC2428): MQRC_NO_SUBSCRIPTION
# 2429 (097D) (RC2429): MQRC_SUBSCRIPTION_IN_USE
# 2430 (097E) (RC2430): MQRC_STAT_TYPE_ERROR
# 2431 (097F) (RC2431): MQRC_SUB_USER_DATA_ERROR
# 2432 (0980) (RC2432): MQRC_SUB_ALREADY_EXISTS
# 2434 (0982) (RC2434): MQRC_IDENTITY_MISMATCH
# 2435 (0983) (RC2435): MQRC_ALTER_SUB_ERROR
# 2436 (0984) (RC2436): MQRC_DURABILITY_NOT_ALLOWED
# 2437 (0985) (RC2437): MQRC_NO_RETAINED_MSG
# 2438 (0986) (RC2438): MQRC_SRO_ERROR
# 2440 (0988) (RC2440): MQRC_SUB_NAME_ERROR
# 2441 (0989) (RC2441): MQRC_OBJECT_STRING_ERROR
# 2442 (098A) (RC2442): MQRC_PROPERTY_NAME_ERROR
# 2443 (098B) (RC2443): MQRC_SEGMENTATION_NOT_ALLOWED
# 2444 (098C) (RC2444): MQRC_CBD_ERROR
# 2445 (098D) (RC2445): MQRC_CTLO_ERROR
# 2446 (098E) (RC2446): MQRC_NO_CALLBACKS_ACTIVE
# 2448 (0990) (RC2448): MQRC_CALLBACK_NOT_REGISTERED
# 2452 (0994) (RC2452): MQRC_CALLBACK_ERROR
# 2453 (0995) (RC2453): MQRC_CALLBACK_STILL_ACTIVE
# 2457 (0999) (RC2457): MQRC_OPTIONS_CHANGED
# 2458 (099A) (RC2458): MQRC_READ_AHEAD_MSGS
# 2459 (099B) (RC2459): MQRC_SELECTOR_SYNTAX_ERROR
# 2460 (099C) (RC2460): MQRC_HMSG_ERROR
# 2461 (099D) (RC2461): MQRC_CMHO_ERROR
# 2462 (099E) (RC2462): MQRC_DMHO_ERROR
# 2463 (099F) (RC2463): MQRC_SMPO_ERROR
# 2464 (09A0) (RC2464): MQRC_IMPO_ERROR
# 2465 (09A1) (RC2465): MQRC_PROPERTY_NAME_TOO_BIG
# 2466 (09A2) (RC2466): MQRC_PROP_VALUE_NOT_CONVERTED
# 2467 (09A3) (RC2467): MQRC_PROP_TYPE_NOT_SUPPORTED
# 2469 (09A5) (RC2469): MQRC_PROPERTY_VALUE_TOO_BIG
# 2470 (09A6) (RC2470): MQRC_PROP_CONV_NOT_SUPPORTED
# 2471 (09A7) (RC2471): MQRC_PROPERTY_NOT_AVAILABLE
# 2472 (09A8) (RC2472): MQRC_PROP_NUMBER_FORMAT_ERROR
# 2473 (09A9) (RC2473): MQRC_PROPERTY_TYPE_ERROR
# 2478 (09AE) (RC2478): MQRC_PROPERTIES_TOO_BIG
# 2479 (09AF) (RC2479): MQRC_PUT_NOT_RETAINED
# 2480 (09B0) (RC2480): MQRC_ALIAS_TARGTYPE_CHANGED
# 2481 (09B1) (RC2481): MQRC_DMPO_ERROR
# 2482 (09B2) (RC2482): MQRC_PD_ERROR
# 2483 (09B3) (RC2483): MQRC_CALLBACK_TYPE_ERROR
# 2484 (09B4) (RC2484): MQRC_CBD_OPTIONS_ERROR
# 2485 (09B5) (RC2485): MQRC_MAX_MSG_LENGTH_ERROR
# 2486 (09B6) (RC2486): MQRC_CALLBACK_ROUTINE_ERROR
# 2487 (09B7) (RC2487): MQRC_CALLBACK_LINK_ERROR
# 2488 (09B8) (RC2488): MQRC_OPERATION_ERROR
# 2489 (09B9) (RC2489): MQRC_BMHO_ERROR
# 2490 (09BA) (RC2490): MQRC_UNSUPPORTED_PROPERTY
# 2492 (09BC) (RC2492): MQRC_PROP_NAME_NOT_CONVERTED
# 2494 (09BE) (RC2494): MQRC_GET_ENABLED
# 2495 (09BF) (RC2495): MQRC_MODULE_NOT_FOUND
# 2496 (09C0) (RC2496): MQRC_MODULE_INVALID
# 2497 (09C1) (RC2497): MQRC_MODULE_ENTRY_NOT_FOUND
# 2498 (09C2) (RC2498): MQRC_MIXED_CONTENT_NOT_ALLOWED
# 2499 (09C3) (RC2499): MQRC_MSG_HANDLE_IN_USE
# 2500 (09C4) (RC2500): MQRC_HCONN_ASYNC_ACTIVE
# 2501 (09C5) (RC2501): MQRC_MHBO_ERROR
# 2502 (09C6) (RC2502): MQRC_PUBLICATION_FAILURE
# 2503 (09C7) (RC2503): MQRC_SUB_INHIBITED
# 2504 (09C8) (RC2504): MQRC_SELECTOR_ALWAYS_FALSE
# 2507 (09CB) (RC2507): MQRC_XEPO_ERROR
# 2509 (09CD) (RC2509): MQRC_DURABILITY_NOT_ALTERABLE
# 2510 (09CE) (RC2510): MQRC_TOPIC_NOT_ALTERABLE
# 2512 (09D0) (RC2512): MQRC_SUBLEVEL_NOT_ALTERABLE
# 2513 (09D1) (RC2513): MQRC_PROPERTY_NAME_LENGTH_ERR
# 2514 (09D2) (RC2514): MQRC_DUPLICATE_GROUP_SUB
# 2515 (09D3) (RC2515): MQRC_GROUPING_NOT_ALTERABLE
# 2516 (09D4) (RC2516): MQRC_SELECTOR_INVALID_FOR_TYPE
# 2517 (09D5) (RC2517): MQRC_HOBJ_QUIESCED
# 2518 (09D6) (RC2518): MQRC_HOBJ_QUIESCED_NO_MSGS
# 2519 (09D7) (RC2519): MQRC_SELECTION_STRING_ERROR
# 2520 (09D8) (RC2520): MQRC_RES_OBJECT_STRING_ERROR
# 2521 (09D9) (RC2521): MQRC_CONNECTION_SUSPENDED
# 2522 (09DA) (RC2522): MQRC_INVALID_DESTINATION
# 2523 (09DB) (RC2523): MQRC_INVALID_SUBSCRIPTION
# 2524 (09DC) (RC2524): MQRC_SELECTOR_NOT_ALTERABLE
# 2525 (09DD) (RC2525): MQRC_RETAINED_MSG_Q_ERROR
# 2526 (09DE) (RC2526): MQRC_RETAINED_NOT_DELIVERED
# 2527 (09DF) (RC2527): MQRC_RFH_RESTRICTED_FORMAT_ERR
# 2528 (09E0) (RC2528): MQRC_CONNECTION_STOPPED
# 2529 (09E1) (RC2529): MQRC_ASYNC_UOW_CONFLICT
# 2530 (09E2) (RC2530): MQRC_ASYNC_XA_CONFLICT
# 2531 (09E3) (RC2531): MQRC_PUBSUB_INHIBITED
# 2532 (09E4): MQRC_MSG_HANDLE_COPY_FAILURE
# 2533 (09E5) (RC2533): MQRC_DEST_CLASS_NOT_ALTERABLE
# 2534 (09E6) (RC2534): MQRC_OPERATION_NOT_ALLOWED
# 2535 (09E7): MQRC_ACTION_ERROR
# 2537 (09E9) (RC2537): MQRC_CHANNEL_NOT_AVAILABLE
# 2538 (09EA) (RC2538): MQRC_HOST_NOT_AVAILABLE
# 2539 (09EB) (RC2539): MQRC_CHANNEL_CONFIG_ERROR
# 2540 (09EC) (RC2540): MQRC_UNKNOWN_CHANNEL_NAME
# 2541 (09ED) (RC2541): MQRC_LOOPING_PUBLICATION
# 6100 (17D4) (RC6100): MQRC_REOPEN_EXCL_INPUT_ERROR
# 6101 (17D5) (RC6101): MQRC_REOPEN_INQUIRE_ERROR
# 6102 (17D6) (RC6102): MQRC_REOPEN_SAVED_CONTEXT_ERR
# 6103 (17D7) (RC6103): MQRC_REOPEN_TEMPORARY_Q_ERROR
# 6104 (17D8) (RC6104): MQRC_ATTRIBUTE_LOCKED
# 6105 (17D9) (RC6105): MQRC_CURSOR_NOT_VALID
# 6106 (17DA) (RC6106): MQRC_ENCODING_ERROR
# 6107 (17DB) (RC6107): MQRC_STRUC_ID_ERROR
# 6108 (17DC) (RC6108): MQRC_NULL_POINTER
# 6109 (17DD) (RC6109): MQRC_NO_CONNECTION_REFERENCE
# 6110 (17DE) (RC6110): MQRC_NO_BUFFER
# 6111 (17DF) (RC6111): MQRC_BINARY_DATA_LENGTH_ERROR
# 6112 (17E0) (RC6112): MQRC_BUFFER_NOT_AUTOMATIC
# 6113 (17E1) (RC6113): MQRC_INSUFFICIENT_BUFFER
# 6114 (17E2) (RC6114): MQRC_INSUFFICIENT_DATA
# 6115 (17E3) (RC6115): MQRC_DATA_TRUNCATED
# 6116 (17E4) (RC6116): MQRC_ZERO_LENGTH
# 6117 (17E5) (RC6117): MQRC_NEGATIVE_LENGTH
# 6118 (17E6) (RC6118): MQRC_NEGATIVE_OFFSET
# 6119 (17E7) (RC6119): MQRC_INCONSISTENT_FORMAT
# 6120 (17E8) (RC6120): MQRC_INCONSISTENT_OBJECT_STATE
# 6121 (17E9) (RC6121): MQRC_CONTEXT_OBJECT_NOT_VALID
# 6122 (17EA) (RC6122): MQRC_CONTEXT_OPEN_ERROR
# 6123 (17EB) (RC6123): MQRC_STRUC_LENGTH_ERROR
# 6124 (17EC) (RC6124): MQRC_NOT_CONNECTED
# 6125 (17ED) (RC6125): MQRC_NOT_OPEN
# 6126 (17EE) (RC6126): MQRC_DISTRIBUTION_LIST_EMPTY
# 6127 (17EF) (RC6127): MQRC_INCONSISTENT_OPEN_OPTIONS
# 6128 (17FO) (RC6128): MQRC_WRONG_VERSION
# 6129 (17F1) (RC6129): MQRC_REFERENCE_ERROR