ExchangeLink Class

ExchangeLink Class

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.

The ExchangeLink WMI class has properties that return information about message-handling links between mail servers. A link can contain zero or more ExchangeQueue objects, depending on the current message traffic along the link. In the Exchange System Manager, these links are called queues.

Namespace

\\COMPUTERNAME\ROOT\cimv2\applications\exchange:ExchangeLink

Provider

The ExchangeQueueProvider supplies instances of the ExchangeLink class.

Origin

The ExchangeLink class does not extend any other class.

Qualifiers

dynamic

Properties

Property Description
LinkName Property
[key] string LinkName;

The LinkName property specifies the name of the link.

ProtocolName Property
[key] string ProtocolName;

The ProtocolName property specifies the transmission protocol for the link.

VirtualServerName Property
[key] string VirtualServerName;

The value of the VirtualServerName property is the integer number of the virtual machine that is the source of the link. This number is the Microsoft® Active Directory® common name (CN) for the virtual server object.

ActionFreeze Property
boolean ActionFreeze;

The ActionFreeze property, when True, specifies that the link supports freezing messages in its queues. The ActionFreeze property corresponds to the sixth bit (0x00000020) of the SupportedLinkActions property.

ActionKick Property
boolean ActionKick;

The ActionKick property, when True, specifies that the link can trigger its queues to retry transmitting waiting messages immediately, instead of waiting for the default protocol timeout before retrying the transmission. The ActionKick property corresponds to the first bit (0x00000001) of the SupportedLinkActions property.

ActionThaw Property
boolean ActionThaw;

The ActionThaw property, when True, specifies that the link supports thawing messages in its queues. Thawing a queue is also known as "unfreezing" that queue. The ActionThaw property corresponds to the seventh bit (0x00000040) of the SupportedLinkActions property.

ExtendedStateInfo Property
string ExtendedStateInfo;

The ExtendedStateInfo property specifies the text description of the current link status.

GlobalStop Property
boolean GlobalStop;

The GlobalStop property specifies whether the link is currently stopped.

IncreasingTime Property
uint32 IncreasingTime;

The IncreasingTime property specifies the amount of time, in milliseconds, that the number of messages waiting to be transferred by the link has been increasing.

LinkDN Property
string LinkDN;

The LinkDN property specifies the Active Directory globally unique identifier (GUID) of the connector object that generated the link.

NextScheduledConnection Property
datetime NextScheduledConnection;

The NextScheduledConnection property specifies the date and time when a connection will be attempted to transfer waiting messages.

NumberOfMessages Property
uint32 NumberOfMessages;

The NumberOfMessages property specifies the number of messages that are waiting for transmission across the link.

OldestMessage Property
datetime OldestMessage;

The OldestMessage property specifies the date and time that the oldest message that is still waiting to be transmitted was received into the link.

SizeOfQueue Property
uint64 SizeOfQueue;

The SizeOfQueue property specifies the total size of the messages in the link, in bytes.

StateActive Property
boolean StateActive;

The StateActive property, when True, specifies that the link is active. The StateActive property corresponds to first bit (0x00000001) of the StateFlags property.

StateFlags Property
uint32 StateFlags;

The StateFlags property specifies the state of the link. The individual bits of this property are available as the link State… and Type… properties of this class.

StateFrozen Property
boolean StateFrozen;

The StateFrozen property indicates whether the link is currently frozen. The StateFrozen property corresponds to the sixth bit (0x00000020) of the StateFlags property.

StateReady Property
boolean StateReady;

The StateReady property, when True, specifies that the link is ready to accept new messages. The StateReady property corresponds to the second bit (0x00000002) of the StateFlags property.

StateRemote Property
boolean StateRemote;

The StateRemote property, when True, specifies that the destination for messages in this link is on a remote server, instead of the messages being delivered to a local store. The StateRemote property corresponds to the fifth bit (0x00000010) of the StateFlags property.

StateRetry Property
boolean StateRetry;

The StateRetry property, when True, specifies that the link is retrying a transmission that was unsuccessful. The StateRetry property corresponds to the third bit (0x00000004) of the StateFlags property.

StateScheduled Property
boolean StateScheduled;

The StateScheduled property, when True, specifies that the link is scheduled for periodic activation, as compared with asynchronous, on-demand activation. The StateScheduled property corresponds to the fourth bit (0x00000008) of the StateFlags property.

SupportedLinkActions Property
uint32 SupportedLinkActions;

The SupportedLinkActions property specifies the actions supported by the link. The individual bits of this property are available as the Action… properties in this class.

TypeCurrentlyUnreachable Property
boolean TypeCurrentlyUnreachable;

The TypeCurrentlyUnreachable property, when True, specifies that the link holds messages for destinations that currently cannot be reached. The TypeCurrentlyUnreachable property corresponds to the thirteenth bit (0x00001000) of the StateFlags property.

TypeDeferredDelivery Property
boolean TypeDeferredDelivery;

The TypeDeferredDelivery property, when True, specifies that the link holds mail that is awaiting a trigger to start transmission. The TypeDeferredDelivery property corresponds to the fourteenth bit (0x00002000) of the StateFlags property.

TypeInternal Property
boolean TypeInternal;

The TypeInternal property indicates that the link is used for internal message processing. The TypeInternal property corresponds to the fifteenth bit (0x00004000) of the StateFlags property.

TypeLocalDelivery Property
boolean TypeLocalDelivery;

The TypeLocalDelivery property, when True, specifies that the link handles local mail delivery. The TypeLocalDelivery property corresponds to the tenth bit (0x00000200) of the StateFlags property.

TypePendingCategorization Property
boolean TypePendingCategorization;

The TypePendingCategorization property, when True, specifies that the link is resolving addresses against entries in Active Directory. The TypePendingCategorization property corresponds to the twelfth bit (0x00000800) of the StateFlags property.

TypePendingRouting Property
boolean TypePendingRouting;

The TypePendingRouting property, when True, specifies that the link is determining the routing of the next message that is waiting to be transmitted. The TypePendingRouting property corresponds to the eleventh bit (0x00000400) of the StateFlags property.

TypePendingSubmission Property
boolean TypePendingSubmission;

The TypePendingSubmission property, when True, specifies that the link handles messages that have not yet been submitted to the routing engine. The TypePendingSubmission property corresponds to the sixteenth bit (0x00008000) of the StateFlags property.

TypeRemoteDelivery Property
boolean TypeRemoteDelivery;

The TypeRemoteDelivery property, when True, specifies that the link is currently handling a remote message delivery. The TypeRemoteDelivery property corresponds to the ninth bit (0x00000100) of the StateFlags property.

Version Property
uint32 Version;

The Version property specifies the version number of the underlying link control software.

VirtualMachine Property
string VirtualMachine;

The VirtualMachine property specifies the name of the virtual machine that is the source of the link.

Methods

This class has no methods.

Associations

This class has no associations.

VBScript Example

The following example shows how to retrieve a list of ExchangeLink instances, and how to retrieve the associated properties.

'===============================================================
' Name:      ShowLinks_AllProperties
' Purpose:   Display each Link found for Exchange server specified,
'            and show all properties on the ExchangeLink objects
' Input:     strComputerName [string] the computer to access
' Output:    Displays the name of each Link
'===============================================================
Public Sub ShowLinks_AllProperties ( strComputerName )

Const cWMINameSpace = "root/cimv2/applications/exchange"
Const cWMIInstance = "ExchangeLink"

Dim strWinMgmts          ' Connection string for WMI
Dim objWMIExchange       ' Exchange Namespace WMI object
Dim listExchangeLinks    ' ExchangeLink collection
Dim objExchangeLink      ' A single ExchangeLink WMI object

' Create the object string, indicating WMI (winmgmts), using the
' current user credentials (impersonationLevel=impersonate),
' on the computer passed to the function in strComputerName, and
' using the CIM namespace for the ExchangeLink provider.
strWinMgmts = "winmgmts:{impersonationLevel=impersonate}!//" & _
   strComputerName & "/" & cWMINameSpace
'
' Get an object using the string you just created.
Set objWMIExchange =  GetObject(strWinMgmts)
'
' The links that currently exist appear as a list of
' ExchangeLink instances in the Exchange namespace.
Set listExchangeLinks = objWMIExchange.InstancesOf(cWMIInstance)
'
' Iterate through the list of ExchangeLink objects.
For each objExchangeLink in listExchangeLinks
   '
   ' Display the value of the LinkName property.
   WScript.echo "LinkName = [" & _
	   TypeName(objExchangeLink.LinkName) & "] " & _
		objExchangeLink.LinkName
   '
   ' Display the value of the VirtualServerName property.
	WScript.echo "    VirtualServerName          = " & _
		"[" & TypeName(objExchangeLink.VirtualServerName) & "] " & _
	   objExchangeLink.VirtualServername
   '
   ' Display the value of the ProtocolName property.
   WScript.echo "    ProtocolName               = " & _
      "[" & TypeName(objExchangeLink.ProtocolName) & "] " & _
      objExchangeLink.ProtocolName
   '
   ' Display the value of the ExtendedStateInfo property.
	WScript.echo "    ExtendedStateInfo          = " & _
		"[" & TypeName(objExchangeLink.ExtendedStateInfo) & "] " & _
		objExchangeLink.ExtendedStateInfo
   '
   ' Display the value of the GlobalStop property.
	WScript.echo "    GlobalStop                 = " & _
		"[" & TypeName(objExchangeLink.ActionFreeze) & "] " & _
		objExchangeLink.GlobalStop
   '
   ' Display the value of the IncreasingTime property.
	WScript.echo "    IncreasingTime             = " & _
		"[" & TypeName(objExchangeLink.IncreasingTime) & "] " & _
		objExchangeLink.IncreasingTime
   '
   ' Display the value of the LinkDN property.
	WScript.echo "    LinkDN                     = " & _
		"[" & TypeName(objExchangeLink.LinkDN) & "] " & _
		objExchangeLink.LinkDN
   '
   ' Display the value of the NextScheduledConnection property.
	WScript.echo "    NextScheduledConnection    = " & _
		"[" & TypeName(objExchangeLink.NextScheduledConnection) & "] " & _
		objExchangeLink.NextScheduledConnection
   '
   ' Display the value of the NumberOfMessages property.
	WScript.echo "    NumberOfMessages           = " & _
		"[" & TypeName(objExchangeLink.NumberOfMessages) & "] " & _
		objExchangeLink.NumberOfMessages
   '
   ' Display the value of the OldestMessage property.
	WScript.echo "    OldestMessage              = " & _
		"[" & TypeName(objExchangeLink.OldestMessage) & "] " & _
		objExchangeLink.OldestMessage
   '
   ' Display the value of the SizeOfQueue property.
	WScript.echo "    SizeOfQueue                = " & _
		"[" & TypeName(objExchangeLink.SizeOfQueue) & "] " & _
		objExchangeLink.SizeOfQueue
   '
   ' Display the value of the SupportedLinkActions property.
   WScript.echo "    SupportedLinkActions       = " & _
      "[" & TypeName(objExchangeLink.SupportedLinkActions) & "] 0x" & _
      Hex(objExchangeLink.SupportedLinkActions)
   WScript.echo "        (Least Significant Bit)"
   '
   ' Display the value of the ActionKick property.
   WScript.echo "        ActionKick                 = " & _
      "[" & TypeName(objExchangeLink.ActionKick) & "] " & _
      objExchangeLink.ActionKick
   '
   ' Display the value of the ActionFreeze property.
   WScript.echo "        ActionFreeze               = " & _
      "[" & TypeName(objExchangeLink.ActionFreeze) & "] " & _
      objExchangeLink.ActionFreeze
   '
   ' Display the value of the ActionThaw property.
   WScript.echo "        ActionThaw                 = " & _
      "[" & TypeName(objExchangeLink.ActionThaw) & "] " & _
      objExchangeLink.ActionThaw
   WScript.echo "        (Most Significant Bit)"
   '
   ' Display the value of the StateFlags property.
   WScript.echo "    StateFlags                 = " & _
      "[" & TypeName(objExchangeLink.StateFlags) & "] 0x" & _
      Hex(objExchangeLink.StateFlags)
   WScript.echo "        (Least Significant Bit)"
   '
   ' Display the value of the StateActive property.
   WScript.echo "        StateActive                = " & _
		"[" & TypeName(objExchangeLink.StateActive) & "] " & _
		objExchangeLink.StateActive
   '
   ' Display the value of the StateReady property.
   WScript.echo "        StateReady                 = " & _
      "[" & TypeName(objExchangeLink.StateReady) & "] " & _
      objExchangeLink.StateReady
   '
   ' Display the value of the StateRetry property.
   WScript.echo "        StateRetry                 = " & _
      "[" & TypeName(objExchangeLink.StateRetry) & "] " & _
      objExchangeLink.StateRetry
   '
   ' Display the value of the StateScheduled property.
   WScript.echo "        StateScheduled             = " & _
      "[" & TypeName(objExchangeLink.StateScheduled) & "] " & _
      objExchangeLink.StateScheduled
   '
   ' Display the value of the StateRemote property.
   WScript.echo "        StateRemote                = " & _
      "[" & TypeName(objExchangeLink.StateRemote) & "] " & _
      objExchangeLink.StateRemote
   '
   ' Display the value of the StateFrozen property.
   WScript.echo "        StateFrozen                = " & _
      "[" & TypeName(objExchangeLink.StateFrozen) & "] " & _
      objExchangeLink.StateFrozen
   '
   ' Display the value of the TypeRemoteDelivery property.
   WScript.echo "        TypeRemoteDelivery         = " & _
     "[" & TypeName(objExchangeLink.TypeRemoteDelivery) & "] " & _
      objExchangeLink.TypeRemoteDelivery
   '
   ' Display the value of the TypeLocalDelivery property.
   WScript.echo "        TypeLocalDelivery          = " & _
      "[" & TypeName(objExchangeLink.TypeLocalDelivery) & "] " & _
      objExchangeLink.TypeLocalDelivery
   '
   ' Display the value of the TypePendingRouting property.
   WScript.echo "        TypePendingRouting         = " & _
      "[" & TypeName(objExchangeLink.TypePendingRouting) & "] " & _
      objExchangeLink.TypePendingRouting
   '
   ' Display the value of the TypePendingCategorization property.
   WScript.echo "        TypePendingCategorization  = " & _
      "[" & TypeName(objExchangeLink.TypePendingCategorization) & "] " & _
      objExchangeLink.TypePendingCategorization
   '
   ' Display the value of the TypeCurrentlyUnreachable property.
   WScript.echo "        TypeCurrentlyUnreachable   = " & _
      "[" & TypeName(objExchangeLink.TypeCurrentlyUnreachable) & "] " & _
      objExchangeLink.TypeCurrentlyUnreachable
   '
   ' Display the value of the TypeDeferredDelivery property.
   WScript.echo "        TypeDeferredDelivery       = " & _
      "[" & TypeName(objExchangeLink.TypeDeferredDelivery) & "] " & _
      objExchangeLink.TypeDeferredDelivery
   '
   ' Display the value of the TypeInternal property.
   WScript.echo "        TypeInternal               = " & _
      "[" & TypeName(objExchangeLink.TypeInternal) & "] " & _
      objExchangeLink.TypeInternal
   '
   ' Display the value of the TypePendingSubmission property
   ' added in Service Pack 2.
'   WScript.echo "        TypePendingSubmission      = " & _
'      "[" & TypeName(objExchangeLink.TypePendingSubmission) & "] " & _
'      objExchangeLink.TypePendingSubmission

   WScript.echo "        (Most Significant Bit)"
   '
   ' Display the value of the Version property.
   WScript.echo "    Version                    = " & _
      "[" & TypeName(objExchangeLink.Version) & "] " & _
      objExchangeLink.Version
   '
   ' Display the value of the VirtualMachine property.
   WScript.echo "    VirtualMachine             = " & _
      "[" & TypeName(objExchangeLink.VirtualMachine) & "] " & _
      objExchangeLink.VirtualMachine
   '
   ' Move to the next ExchangeLink.
Next
end Sub

Send us your feedback about the Microsoft Exchange Server 2003 SDK.

Build: June 2007 (2007.618.1)

© 2003-2006 Microsoft Corporation. All rights reserved. Terms of use.