PROPID_MGMT_MSMQ_PRIVATEQ
Applies To: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Preview, Windows Vista
(Read-only, introduced in MSMQ 3.0.) The PROPID_MGMT_MSMQ_PRIVATEQ property returns a list of the path names of all the private queues registered on the computer.
Property ID
PROPID_MGMT_MSMQ_PRIVATEQ
Type Indicator
VT_LPWSTR | VT_VECTOR
MQPROPVARIANT Field
calpwstr
Property Value
A counted array of pointers to strings containing the path names of all the private queues registered on the computer.
Remarks
To retrieve a list of the path names of all the private queues registered on the computer, include PROPID_MGMT_MSMQ_PRIVATEQ in the MQMGMTPROPS structure, and then call MQMgmtGetInfo.
When specifying PROPID_MGMT_MSMQ_PRIVATEQ in the MQMGMTPROPS structure, set its type indicator to VT_NULL. During the function call, Message Queuing automatically changes the type indicator to VT_LPWSTR | VT_VECTOR and creates the buffers needed to receive the property values. The number of private queues found is returned in the cElems member of the calpwstr field of the applicable MQPROPVARIANT element in the property values array, and the path names are returned in the array of strings specified by the pElems member of the calpwstr field. After you no longer need the array of strings, you must free the memory allocated for it using MQFreeMemory.
Equivalent COM Property
When using COM components, you can retrieve a list of the path names of all the private queues registered on a computer using the MSMQApplication.PrivateQueues property.
Example Code
The following code fragment shows how PROPID_MGMT_MSMQ_PRIVATEQ is specified in arrays that can be used to initialize an MQMGMTPROPS structure.
aMgmtPropID[i] = PROPID_MGMT_MSMQ_PRIVATEQ; // Property identifier
aMgmtPropVar[i].vt = VT_NULL; // Type indicator
i++;
The following code fragment shows how to free the memory allocated for the list of the path names.
for (j = 0; j < aMgmtPropVar[i].calpwstr.cElems; j++)
{
MQFreeMemory(aMgmtPropVar[i].calpwstr.pElems[j]); //Free each element
}
MQFreeMemory(aMgmtPropVar[i].calpwstr.pElems); //Free the array
The following example is included in Using Message Queuing.
For a complete example of | See |
---|---|
Obtaining a list of all the private queues on a specific computer | C/C++ Code Example: Obtaining a List of Private Queues |
See Also
Management Properties
MQFreeMemory
MQMgmtGetInfo
MSMQApplication.PrivateQueues