3.2.4.3.2 PrivateQueues (Opnum 16)

The PrivateQueues method is received by the server in an RPC_REQUEST packet. In response, the server MUST return an array of strings that contain the path names of all the represented QueueManager.QueueCollection.Queues, where Queue.QueueType is equal to Private.

 [propget] HRESULT PrivateQueues(
   [out, retval] VARIANT* pvPrivateQueues
 );

pvPrivateQueues: A pointer to a VARIANT that when successfully completed, contains an array of zero or more strings (VT_ARRAY | VT_BSTR) that specify the path names of all the represented QueueManager.QueueCollection.Queues, where Queue.QueueType is equal to Private.

Return Values: The method MUST return S_OK (0x00000000) to indicate success or an implementation-specific error HRESULT on failure.

When processing this call, the server MUST follow these guidelines:

  • If the ComputerName instance variable is NULL:

    • Identify all the local QueueManager.QueueCollection.Queues, where Queue.QueueType is equal to Private.

    • Set the pvPrivateQueues output variable to an array that contains the path names that specify all the identified Queues.

  • Else:

    • The server MUST generate a QMMgmt Get Info event with the following inputs:

      • iPropID = PROPID_MGMT_MSMQ_PRIVATEQ

    • If the rStatus return value is not equal to MQ_OK (0x00000000), the server MUST return rStatus and MUST take no further action. Otherwise, the pvPrivateQueues output variable MUST be set to the value of the returned rPropVar.