Share via


IUccSessionCallControl.Alternate 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.

Alternates the media transmission between the current session and another active session.

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

Syntax

'Declaration
Sub Alternate ( _
    pActiveSession As IUccSession, _
    pOperationContext As UccOperationContext _
)
void Alternate (
    IUccSession pActiveSession,
    UccOperationContext pOperationContext
)
void Alternate (
    IUccSession^ pActiveSession, 
    UccOperationContext^ pOperationContext
)
void Alternate (
    IUccSession pActiveSession, 
    UccOperationContext pOperationContext
)
function Alternate (
    pActiveSession : IUccSession, 
    pOperationContext : UccOperationContext
)

Parameters

  • pActiveSession
    A value of the IUccSession* (IUccSession, for a .NET application) type. This specifies the other active session.
  • pOperationContext
    A value of the IUccOperationContext* (UccOperationContext, for a .NET application) type. The default value is NULL. This specifies an application-defined context for this asynchronous request.

Remarks

Calling this method puts (or removes) the current session on (or from) hold and enables (disables) the media transmission through a specified active session. This is an asynchronous request. An application can expect the corresponding response in an event (OnAlternate) as defined in _IUccSessionCallControlEvents.

Win32 COM/C++ Syntax

HRESULT Alternate
(
   IUccSession* pActiveSession,
   IUccOperationContext* pOperationContext
);

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 Unified Communications Client API Error Messages.

Example

The following example accepts two audio/video sessions as IUccSession. The current session is active and next session is on hold. The example places the current session on hold and removes the next session from hold status.

/// <summary>
/// Takes this call off hold and puts passed call on hold
/// </summary>
/// <param name="thisSession">IUccSession current session</param>
/// <param name="nextSession">IUccSession session to remove from hold</param>
/// <param name="iOperationId">operation Id for OperationalContext</param>
/// <returns>next session</returns>
public void Alternate(
    IUccSession thisSession,
    IUccSession nextSession,
    int iOperationId)
{
    IUccSessionCallControl sessionCC = thisSession as IuccSessionCallControl;

    if (sessionCC != null)
    {
        //advise for session call control events on the current session
        UCC_Advise<_IUccSessionCallControlEvents>(sessionCC, this);
        UccOperationContext pOperationContext = new UccOperationContext();
        pOperationContext.Initialize(iOperationId, null);
        sessionCC.Alternate(nextSession, pOperationContext);

        }

}

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

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