3.2.4.3.1 ActiveQueues (Opnum 15)
The ActiveQueues method is received by the server in an RPC_REQUEST packet. In response, the server MUST return an array of strings that contain the format names of all the represented QueueManager.QueueCollection.Queues, where Queue.Active is equal to True.
-
HRESULT ActiveQueues( [out, retval] VARIANT* pvActiveQueues );
pvActiveQueues: A pointer to a VARIANT that, when successfully completed, contains an array of zero or more strings (VT_ARRAY | VT_BSTR) that specify the format names of all the represented QueueManager.QueueCollection.Queues, where Queue.Active is equal to True.
Return Values: The method MUST return S_OK (0x00000000) to indicate success or an implementation-specific error HRESULT on failure.
When the server processes this call, it MUST follow these guidelines:
If the ComputerName instance variable is NULL:
Identify all the local QueueManager.QueueCollection.Queues, where Queue.Active is equal to True.
Set the pvActiveQueues output variable to an array that contains the format 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_ACTIVEQUEUES
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 pvActiveQueues output variable MUST be set to the value of the returned rPropVar.