IRTCSession::Terminate

The Terminate method terminates a session. It can be called on a session that is in any state except RTCSS_DISCONNECTED. It will disconnect an RTCSS_CONNECTED session, reject an RTCSS_INCOMING session, and withdraw an RTCSS_INPROGRESS or RTCSS_ANSWERING session.

HRESULT Terminate(RTC_TERMINATE_REASONenReason);

Parameters

Return Values

RTC methods may return an RTC_E_ constant.

Value Meaning
RTC_E_INVALID_SESSION_STATE An idle session cannot be terminated.
E_INVALIDARG Invalid terminate reason.

Remarks

The enReason parameter must be either RTCTR_NORMAL or RTCTR_SHUTDOWN if the session is not in the RTCSS_INCOMING state. If the enReason parameter contains any other value and the session is not in the incoming state, this method returns an RTC_E_INVALID_SESSION_STATE error.

This function may send data over the wire in unencrypted form; therefore, someone eavesdropping on the network may be able to read the data. The security risk of sending the data in clear text should be considered before using this method in an unencrypted session. An RTC session can be encrypted by specifying TLS in the profile used for the session.

Requirements

Client: Requires Windows XP.
Server: Requires Windows Server 2003.
Redistributable: Requires Rtcdll.dll on Windows 2000, and Windows Me/98.
Header: Declared in Rtccore.h.
Library: Included as a resource in Rtcdll.dll.
GUID: IID_IRTCSession is defined as 387c8086-99be-42fb-9973-7c0fc0ca9fa8.

See Also

IRTCSession, RTC_TERMINATE_REASON, IRTCSession::Answer, Terminate a Call