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