SignalingSession.BeginRefer Method (RealTimeAddress, ReferStatus, AsyncCallback, Object)
Refers a URI to the remote participant.
Namespace: Microsoft.Rtc.Signaling
Assembly: Microsoft.Rtc.Collaboration (in Microsoft.Rtc.Collaboration.dll)
Syntax
'Declaration
Public Function BeginRefer ( _
referTarget As RealTimeAddress, _
referStatus As ReferStatus, _
userCallback As AsyncCallback, _
state As Object _
) As IAsyncResult
'Usage
Dim instance As SignalingSession
Dim referTarget As RealTimeAddress
Dim referStatus As ReferStatus
Dim userCallback As AsyncCallback
Dim state As Object
Dim returnValue As IAsyncResult
returnValue = instance.BeginRefer(referTarget, _
referStatus, userCallback, state)
public IAsyncResult BeginRefer(
RealTimeAddress referTarget,
ReferStatus referStatus,
AsyncCallback userCallback,
Object state
)
Parameters
- referTarget
Type: Microsoft.Rtc.Signaling.RealTimeAddress
The Refer target URI.
- referStatus
Type: Microsoft.Rtc.Signaling.ReferStatus
The ReferStatus object provided by the caller to signal Refer state changes.
- userCallback
Type: System.AsyncCallback
The method to be called when the asynchronous operation is completed.
- state
Type: System.Object
A user-provided object that distinguishes this particular asynchronous operation from other asynchronous operations.
Return Value
Type: System.IAsyncResult
An IAsyncResult that references the asynchronous operation.
Exceptions
Exception | Condition |
---|---|
InvalidOperationException | Thrown when the session is an invalid state to send a Refer. |
ArgumentException | Thrown when invalid arguments are passed. |
ArgumentNullException | Thrown when arguments are null. |
Remarks
The platform supports multiple Refer operations at the same time. Some clients may not support parallel Refer operations. Until the first notification is received, the capability of the remote client is not known. For this reason, the first Refer operation is special in the sense the subsequent Refer operations are queued until first notify is received to learn the capability of the remote client. If the remote supports parallel Refer operations, the queued Refer operations are all released. If the remote does not support parallel Refer operations, the Refer operations are carried out one at a time. When the terminating notify is received, the next Refer operation is started. For this reason, calling synchronous method to send Refer or waiting on the operation to complete (EndRefer) before the callback is called are highly discouraged.