Indicates that the status of a contact in the local client's contact list has changed, and returns the current state of the contact. Scriptable.


HRESULT OnContactStatusChange(
   [in] IDispatch* pMContact,
   [in] MISTATUS mStatus



[in] Pointer to an IDispatch interface on the IMessengerContact object representing the contact whose status has changed.

If there is an error, pMContact is null.


[in] A member of the MISTATUS enumeration type that specifies the current state of the MessengerContact object.

Return Value

The implementer of this event handler will determine what value should be returned.


When a local client user signs in to a service, this event is distributed to all other users that have included the local client in their contact list. The event is also distributed when the local user has changed his status. For example: When the user status changes from Available to Busy, other users are notified of the change by this event. The local user will also receive the event and can use it to verify his status was successfully changed on the Office Communicator server.

The local application will receive these status events from the Office Communicator server for contacts even when those contacts originate on different systems. For example, an Office Communicator user will receive contact status change events from a contact list user who originates from the Windows Live Messenger server.


The example code uses the pmContact parameter to cast into an IMessengerContact interface object. Doing so gives you access to the methods and properties of the interface. The contact name and current status are then written to the application console window.

Copy Code
void communicator_OnContactStatusChange(object pMContact, MISTATUS mStatus)
   IMessengerContact imContact = (IMessengerContact)pMContact;
   StringBuilder sb = new StringBuilder();
   sb.Append("CONTACT STATUS CHANGED: Current STATUS-" +
   sb.Append("Contact:" + imContact.FriendlyName);
   Console.WriteLine("EVENT: " + sb.ToString());



Requires Microsoft DirectX 9.0, C Runtime libraries (msvcm80.dll) on Microsoft Windows© Vista, Microsoft Windows XP Service Pack 1 (SP1) or later, or Microsoft Windows 2000 with Service Pack 4 (SP4). Any Communicator-imposed restrictions apply. .


Requires Microsoft Office Communications Server 2007, AV MCU (for Media Support), Media Relay (for NAT/Firewall traversal) on Microsoft Office Communications Server 2007.


Microsoft Office Communicator 2007 Automation API

IDL file


See Also