Share via


IUccInstantMessagingSession.StartComposing Method

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.

Sets the composing state for the current session.

Namespace: Microsoft.Office.Interop.UccApi
Assembly: Microsoft.Office.Interop.UccApi (in microsoft.office.interop.uccapi.dll)

Syntax

'Declaration
Sub StartComposing ( _
    pComposingContext As UccContext _
)
void StartComposing (
    UccContext pComposingContext
)
void StartComposing (
    UccContext^ pComposingContext
)
void StartComposing (
    UccContext pComposingContext
)
function StartComposing (
    pComposingContext : UccContext
)

Parameters

  • pComposingContext
    A value of the IUccContext* (UccContext, for a .NET application) type. This specifies the application-defined contextual information for this operation.

Remarks

An application can call this method to notify all participants of the current composing state. The local user in the instant messaging session must be connected to a session (UCC_SESSION_ENTITY_STATE. UCC_SESSION_ENTITY_STATE.UCCSES_CONNECTED) when StartComposing is called.

Win32 COM/C++ Syntax

HRESULT StartComposing
(
   IUccContext* pComposingContext
);

Note

In a Win32 application, the return value of a method or property is always an HRESULT value indicating the status of the call to the interface member. Any result of the operation is returned as a parameter marked with the [out, retval] attribute. In contrast, in a .NET application the HRESULT value indicating an error condition is returned as a COM exception and the [out, retval] parameter becomes the return value. For the UCC API-defined HRESULT values, see Trace and Handle Errors in Unified Communications Client API.

Example

The following example notifies all remote users in a local user's IM session that the local user has started composing a message. Note that the example verifies the local user is connected to a session by casting the IUccInstantMessagingSession instance to IUccSession and obtaining the local user's (LocalParticipant) connection state.

/// <summary>
/// Sends message to remote session participants indicating
/// local user has begun composing an IM message
/// </summary>
/// <param name="pIMsession">IUccInstantMessaging session to send composing message from</param>
/// <param name="pContextKey">string optional context property name</param>
/// <param name="pContextValue">string optional context property value</param>
private void SendComposing(IUccInstantMessagingSession pIMsession)
{
    try
    {
        IUccSession _session = pIMsession as IUccSession;

        if (_session != null &&
            _session.LocalParticipant.State == UCC_SESSION_ENTITY_STATE.UCCSES_CONNECTED)
        {
            UccContext ctx = new UccContext();
            if (pContextKey.Length > 0 && pContextValue.Length > 0)
            {
                ctx.AddNamedProperty(pContextKey, pContextValue);
            }
            pIMsession.StartComposing(ctx);
        }
    }
    catch (COMException ce)
    {
        Console.WriteLine(COMErrors.returnComError(ce.ErrorCode));
    }
}

Thread Safety

All public static (Shared in Visual Basic) members of this type are thread-safe. Instance members are not guaranteed to be thread-safe.

Platforms

Development Platforms

Windows XP Professional with Service Pack 2 (SP2), Windows Server 2000 with Service Pack 4, Windows Server 2003, Windows Vista Ultimate Edition, Windows Vista Business Edition, Windows Vista Enterprise Edition

Target Platforms

See Also

Reference

IUccInstantMessagingSession Interface
IUccInstantMessagingSession Members
Microsoft.Office.Interop.UccApi Namespace