PROPID_MGMT_QUEUE_FOREIGN
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_QUEUE_FOREIGN property returns a string that indicates whether the queue is or is not a foreign queue.
Property ID
PROPID_MGMT_QUEUE_FOREIGN
Type Indicator
VT_LPWSTR
MQPROPVARIANT Field
pwszVal
Property Value
One of the following Unicode strings:
L"YES" (MGMT_QUEUE_FOREIGN_TYPE)
The queue is a foreign queue.
L"NO" (MGMT_QUEUE_NOT_FOREIGN_TYPE)
The queue is not a foreign queue.
L"UNKNOWN" (MGMT_QUEUE_UNKNOWN_TYPE)
Message Queuing cannot determine whether the queue is or is not a foreign queue. This string is returned under the following conditions.
The queue is a remote private queue.
The queue is a remote public queue, and the queue manager on the computer is operating offline.
Remarks
To retrieve a string that indicates whether the queue is a foreign queue, include PROPID_MGMT_QUEUE_FOREIGN in the MQMGMTPROPS structure, and then call MQMgmtGetInfo.
This property can be retrieved only for an active queue. MQMgmtGetInfo will return a non-specific error (MQ_ERROR) if your application attempts to retrieve this information for a queue that does not contain messages and is not opened by an application.
When specifying PROPID_MGMT_QUEUE_FOREIGN 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 and creates the string buffer needed to receive the property value. After you no longer need the string buffer, you must free the memory allocated for it using MQFreeMemory.
Equivalent COM Property
When using COM components, you can determine whether a queue is a foreign queue using the MSMQManagement.ForeignStatus property.
Example Code
The following code fragment shows how PROPID_MGMT_QUEUE_FOREIGN is specified in arrays that can be used to initialize an MQMGMTPROPS structure.
aMgmtPropID[i] = PROPID_MGMT_QUEUE_FOREIGN; // Property identifier
aMgmtPropVar[i].vt = VT_NULL; // Type indicator
i++;
The following line of code shows how to free the memory allocated for the string.
MQFreeMemory(aMgmtPropVar[i].pwszVal);
See Also
Management Properties
MQFreeMemory
MQMgmtGetInfo
MSMQManagement.ForeignStatus