Share via


IMessengerConversationWndAdvanced::SendText

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.

Sends a text message to the open conversation window represented by this interface. Not scriptable.

Syntax

HRESULT SendText(
   [in] BSTR bstrTextMessage
);

Parameters

  • bstrTextMessage
    A BSTR value representing the text message to be sent to the other participants.

Return Value

Returns one of the following values. For managed code applications, these return values are received in the form of a COMException.

  • S_OK
    Success.
  • E_FAIL
    The client is not signed in to the primary service at the time this method is called or the conversation window is closed.
  • S_FALSE
    Cannot bring focus to the window.

Remarks

The conversation window on which this method is invoked can be created by calling the IMessengerAdvanced::StartConversation method. An application can obtain this window object by catching the DMessengerEvents::OnIMWindowCreated event.

Example

The following C# code snippet illustrates how to start an IM conversation window and send a text message to the opened IM window.

void StartConversation(object[] sipUris)
{
  CommunicatorAPI.IMessengerAdvanced msgrAdv = 
      communicator as CommunicatorAPI.IMessengerAdvanced;
  communicator.OnIMWindowCreated += new 
      DMessengerEvents_OnIMWindowCreatedEventHandler(
      communicator_OnIMWindowCreated);
            
  if (msgrAdv != null)
  {
    try
    {
      object obj = msgrAdv.StartConversation(
                    CONVERSATION_TYPE.CONVERSATION_TYPE_IM,
                    sipUris,
                    null,
                    "Testing API",
                    "1",
                    null);
                    imWindowHandle = long.Parse(obj.ToString());
    }
    catch (System.Runtime.InteropServices.COMException ex)
    {
       Console.WriteLine(string.Format("{0}", ex.ErrorCode));
    }
  }
}

        // Register for IMWindowCreated event to receive the 
        // conversation window object. Other window objects can
        // received via this event handling as well.
void communicator_OnIMWindowCreated(object pIMWindow)
{
   imWindow = pIMWindow as IMessengerConversationWndAdvanced;
   SendTextMessage("Hi. You received this message as part of testing the OC API.");
}

        // Send text only if the window object matches the desired 
        // window handle 
void SendTextMessage(string msg)
{
  if (imWindow == null)
      return;
  if (imWindow.HWND == imWindowHandle)
  {
     imWindow.SendText(msg);
  }
}

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

IMessengerConversationWndAdvanced