DMessengerEvents::OnContactBlockChange

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.

Indicates that the block settings of a contact in the local client's contact list have changed. Queries whether the contact is blocked by the local client user. Not scriptable.

Syntax

HRESULT OnContactBlockChange(
   [in] LONG hr,
   [in] IDispatch* pContact,
   [in] VARIANT_BOOL pBoolBlock
);

Parameters

  • hr
    [in]  Success or error code as a LONG. For a table of the MSGR_E_* constants, see Error Codes.

    An error result for hr can result in all other event parameters being meaningless, null, or otherwise invalid. Always check for a successful hr before attempting to use the other event parameters.

    Returns one of the following values:

    • S_OK. A user is successfully blocked or unblocked.
    • MSGR_E_USER_NOT_FOUND. The user specified to be blocked or unblocked does not exist.
    • MSGR_E_UNEXPECTED. The server returned an unexpected error code.
    • MSGR_E_SERVER_TOO_BUSY. The server is not processing requests or not accepting new connections.
    • MSGR_E_SERVER_UNAVAILABLE. The server is able to be contacted, but is unavailable for unspecified reasons.
  • pBoolBlock
    [in] One of two possible values of the VARIANT_BOOL constant enumeration defined by the Component Object Model (COM). VARIANT_TRUE indicates that this contact is blocked. VARIANT_FALSE indicates that this contact is not blocked. This value is potentially null or otherwise not useful if hr in the event returned any error code.

Return Value

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

Remarks

If the user is not in the contact list, the application handling this event cannot be notified of subsequent changes of the property value after the IMessengerContact instance representing the user is first created. To refresh the property value, the handler must release and recreate the IMessengerContact instance.

Example

The pContact object is cast to an object of type IMessengerContact so that all of the methods and properties of the interface are available. In this example, the FriendlyName property is used to display the name of the contact whose block status has changed.

void communicator_OnContactBlockChange(
     int hr, 
     object pContact, 
     bool pBoolBlock)
{
    if (hr == 0)
    {
        IMessengerContact imContact = (IMessengerContact)pContact;
        StringBuilder sb = new StringBuilder();
        sb.Append(
           " CONTACT BLOCK CHANGE: HRESULT-" +
           formReturnErrors.returnComError(hr));

        sb.Append(
           " Contact Name:" +
           imContact.FriendlyName);

        sb.Append(
           " Block Status: " +
           pBoolBlock.ToString());

        Console.WriteLine(
             "EVENT: " +
             sb.ToString());

        myContactList.updateContactStatus(
                      imContact,
                      imContact.Status);
    }
}

Requirements

  • Client
    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. .
  • Server
    Requires Microsoft Office Communications Server 2007, AV MCU (for Media Support), Media Relay (for NAT/Firewall traversal) on Microsoft Office Communications Server 2007.
  • Product
    Microsoft Office Communicator 2007 Automation API
  • IDL file
    Msgrua.idl

See Also

Reference

IMessengerContact::Blocked