title: MQQueue Properties (C# API to Websphere MQ)
body: <p>I found this code to enumerate a list of queues for a QueueManager. 
  It works, but I see a lot of System Queues, and even channel names in the list it provides. Is there some property I can test to see if it is a "normal" user-defined queue? 
  ObjectType, QueueType, Usage seemed to always give same values for every queue-name. </p>
  
  <pre><code>            // GET QueueNames - this worked on 07/19/2012 - but returned a lot of system queue, and unclear how to separate user queues from system queues. 
              PCFMessageAgent agent = new PCFMessageAgent(mqQMgr);
  
              // Build the query request.
              PCFMessage requestMessage = new PCFMessage(CMQCFC.MQCMD_INQUIRE_Q_NAMES);
              requestMessage.AddParameter(MQC.MQCA_Q_NAME, "*");
  
              // Send the request and retrieve the response.
              PCFMessage[] responses = agent.Send(requestMessage);
  
              // Retrieve the values requested from the response.
              string[] queueNames = responses[0].GetStringListParameterValue(CMQCFC.MQCACF_Q_NAMES);
              //string[] objType = responses[0].GetStringListParameterValue(CMQCFC.MQIACF_OBJECT_TYPE);
  
              int loopCounter = 0;
              foreach (string queueName in queueNames)
              {
                  loopCounter++;
                  Console.WriteLine("QueueName=" + queueName);
                  try
                  {
                      mqQueue = mqQMgr.AccessQueue(
                               queueName,
                               MQC.MQOO_OUTPUT                   // open queue for output
                               + MQC.MQOO_INQUIRE              // inquire required to get CurrentDepth 
                               + MQC.MQOO_FAIL_IF_QUIESCING);   // but not if MQM stopping
  
  
                      Console.WriteLine("QueueName=" + queueName +
                                        " CurrentDepth=" + mqQueue.CurrentDepth +
                                        " MaxDepth=" + mqQueue.MaximumDepth + 
                                        " QueueType=" + mqQueue.QueueType +
                                        " Usage=" + mqQueue.Usage
                                        );
                  }
                  catch (MQException mex)
                  {
                      Console.WriteLine(mex.Message);
                  }
  
              }
          }
  </code></pre>