mirror of https://github.com/UMSKT/xpmgr.git
2959 lines
76 KiB
Plaintext
2959 lines
76 KiB
Plaintext
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
|
|
cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.")
|
|
|
|
//
|
|
// RTCCore.idl : IDL source for RTCCore.dll
|
|
//
|
|
|
|
// This file will be processed by the MIDL tool to
|
|
// produce the type library (RTCCore.tlb) and marshalling code.
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
|
|
import "control.odl";
|
|
|
|
// Types
|
|
|
|
typedef enum RTC_AUDIO_DEVICE
|
|
{
|
|
RTCAD_SPEAKER,
|
|
RTCAD_MICROPHONE
|
|
|
|
} RTC_AUDIO_DEVICE;
|
|
|
|
typedef enum RTC_VIDEO_DEVICE
|
|
{
|
|
RTCVD_RECEIVE,
|
|
RTCVD_PREVIEW
|
|
|
|
} RTC_VIDEO_DEVICE;
|
|
|
|
typedef enum RTC_EVENT
|
|
{
|
|
RTCE_CLIENT,
|
|
RTCE_REGISTRATION_STATE_CHANGE,
|
|
RTCE_SESSION_STATE_CHANGE,
|
|
RTCE_SESSION_OPERATION_COMPLETE,
|
|
RTCE_PARTICIPANT_STATE_CHANGE,
|
|
RTCE_MEDIA,
|
|
RTCE_INTENSITY,
|
|
RTCE_MESSAGING,
|
|
RTCE_BUDDY,
|
|
RTCE_WATCHER,
|
|
RTCE_PROFILE,
|
|
RTCE_USERSEARCH,
|
|
RTCE_INFO,
|
|
RTCE_GROUP,
|
|
RTCE_MEDIA_REQUEST,
|
|
RTCE_ROAMING,
|
|
RTCE_PRESENCE_PROPERTY,
|
|
RTCE_PRESENCE_DATA,
|
|
RTCE_PRESENCE_STATUS,
|
|
RTCE_SESSION_REFER_STATUS,
|
|
RTCE_SESSION_REFERRED,
|
|
RTCE_REINVITE
|
|
} RTC_EVENT;
|
|
|
|
typedef enum RTC_LISTEN_MODE
|
|
{
|
|
RTCLM_NONE,
|
|
RTCLM_DYNAMIC,
|
|
RTCLM_BOTH
|
|
|
|
} RTC_LISTEN_MODE;
|
|
|
|
typedef enum RTC_CLIENT_EVENT_TYPE
|
|
{
|
|
RTCCET_VOLUME_CHANGE,
|
|
RTCCET_DEVICE_CHANGE,
|
|
RTCCET_NETWORK_QUALITY_CHANGE,
|
|
RTCCET_ASYNC_CLEANUP_DONE
|
|
|
|
} RTC_CLIENT_EVENT_TYPE;
|
|
|
|
typedef enum RTC_BUDDY_EVENT_TYPE
|
|
{
|
|
RTCBET_BUDDY_ADD,
|
|
RTCBET_BUDDY_REMOVE,
|
|
RTCBET_BUDDY_UPDATE,
|
|
RTCBET_BUDDY_STATE_CHANGE,
|
|
RTCBET_BUDDY_ROAMED,
|
|
RTCBET_BUDDY_SUBSCRIBED
|
|
|
|
} RTC_BUDDY_EVENT_TYPE;
|
|
|
|
typedef enum RTC_WATCHER_EVENT_TYPE
|
|
{
|
|
RTCWET_WATCHER_ADD,
|
|
RTCWET_WATCHER_REMOVE,
|
|
RTCWET_WATCHER_UPDATE,
|
|
RTCWET_WATCHER_OFFERING,
|
|
RTCWET_WATCHER_ROAMED
|
|
|
|
} RTC_WATCHER_EVENT_TYPE;
|
|
|
|
typedef enum RTC_GROUP_EVENT_TYPE
|
|
{
|
|
RTCGET_GROUP_ADD,
|
|
RTCGET_GROUP_REMOVE,
|
|
RTCGET_GROUP_UPDATE,
|
|
RTCGET_GROUP_BUDDY_ADD,
|
|
RTCGET_GROUP_BUDDY_REMOVE,
|
|
RTCGET_GROUP_ROAMED
|
|
|
|
} RTC_GROUP_EVENT_TYPE;
|
|
|
|
typedef enum RTC_TERMINATE_REASON
|
|
{
|
|
RTCTR_NORMAL,
|
|
RTCTR_DND,
|
|
RTCTR_BUSY,
|
|
RTCTR_REJECT,
|
|
RTCTR_TIMEOUT,
|
|
RTCTR_SHUTDOWN,
|
|
RTCTR_INSUFFICIENT_SECURITY_LEVEL,
|
|
RTCTR_NOT_SUPPORTED
|
|
|
|
} RTC_TERMINATE_REASON;
|
|
|
|
typedef enum RTC_REGISTRATION_STATE
|
|
{
|
|
RTCRS_NOT_REGISTERED,
|
|
RTCRS_REGISTERING,
|
|
RTCRS_REGISTERED,
|
|
RTCRS_REJECTED,
|
|
RTCRS_UNREGISTERING,
|
|
RTCRS_ERROR,
|
|
RTCRS_LOGGED_OFF,
|
|
RTCRS_LOCAL_PA_LOGGED_OFF,
|
|
RTCRS_REMOTE_PA_LOGGED_OFF
|
|
|
|
} RTC_REGISTRATION_STATE;
|
|
|
|
typedef enum RTC_SESSION_STATE
|
|
{
|
|
RTCSS_IDLE,
|
|
RTCSS_INCOMING,
|
|
RTCSS_ANSWERING,
|
|
RTCSS_INPROGRESS,
|
|
RTCSS_CONNECTED,
|
|
RTCSS_DISCONNECTED,
|
|
RTCSS_HOLD,
|
|
RTCSS_REFER
|
|
|
|
} RTC_SESSION_STATE;
|
|
|
|
typedef enum RTC_PARTICIPANT_STATE
|
|
{
|
|
RTCPS_IDLE,
|
|
RTCPS_PENDING,
|
|
RTCPS_INCOMING,
|
|
RTCPS_ANSWERING,
|
|
RTCPS_INPROGRESS,
|
|
RTCPS_ALERTING,
|
|
RTCPS_CONNECTED,
|
|
RTCPS_DISCONNECTING,
|
|
RTCPS_DISCONNECTED
|
|
|
|
} RTC_PARTICIPANT_STATE;
|
|
|
|
typedef enum RTC_WATCHER_STATE
|
|
{
|
|
RTCWS_UNKNOWN,
|
|
RTCWS_OFFERING,
|
|
RTCWS_ALLOWED,
|
|
RTCWS_BLOCKED,
|
|
RTCWS_DENIED,
|
|
RTCWS_PROMPT
|
|
|
|
} RTC_WATCHER_STATE;
|
|
|
|
typedef enum RTC_ACE_SCOPE
|
|
{
|
|
RTCAS_SCOPE_USER,
|
|
RTCAS_SCOPE_DOMAIN,
|
|
RTCAS_SCOPE_ALL
|
|
|
|
} RTC_ACE_SCOPE;
|
|
|
|
typedef enum RTC_OFFER_WATCHER_MODE
|
|
{
|
|
RTCOWM_OFFER_WATCHER_EVENT,
|
|
RTCOWM_AUTOMATICALLY_ADD_WATCHER
|
|
|
|
} RTC_OFFER_WATCHER_MODE;
|
|
|
|
typedef enum RTC_WATCHER_MATCH_MODE
|
|
{
|
|
RTCWMM_EXACT_MATCH,
|
|
RTCWMM_BEST_ACE_MATCH
|
|
|
|
} RTC_WATCHER_MATCH_MODE;
|
|
|
|
typedef enum RTC_PRIVACY_MODE
|
|
{
|
|
RTCPM_BLOCK_LIST_EXCLUDED,
|
|
RTCPM_ALLOW_LIST_ONLY
|
|
|
|
} RTC_PRIVACY_MODE;
|
|
|
|
typedef enum RTC_SESSION_TYPE
|
|
{
|
|
RTCST_PC_TO_PC,
|
|
RTCST_PC_TO_PHONE,
|
|
RTCST_PHONE_TO_PHONE,
|
|
RTCST_IM,
|
|
RTCST_MULTIPARTY_IM,
|
|
RTCST_APPLICATION
|
|
|
|
} RTC_SESSION_TYPE;
|
|
|
|
typedef enum RTC_PRESENCE_STATUS
|
|
{
|
|
RTCXS_PRESENCE_OFFLINE,
|
|
RTCXS_PRESENCE_ONLINE,
|
|
RTCXS_PRESENCE_AWAY,
|
|
RTCXS_PRESENCE_IDLE,
|
|
RTCXS_PRESENCE_BUSY,
|
|
RTCXS_PRESENCE_BE_RIGHT_BACK,
|
|
RTCXS_PRESENCE_ON_THE_PHONE,
|
|
RTCXS_PRESENCE_OUT_TO_LUNCH
|
|
|
|
} RTC_PRESENCE_STATUS;
|
|
|
|
typedef enum RTC_BUDDY_SUBSCRIPTION_TYPE
|
|
{
|
|
RTCBT_SUBSCRIBED,
|
|
RTCBT_ALWAYS_OFFLINE,
|
|
RTCBT_ALWAYS_ONLINE,
|
|
RTCBT_POLL
|
|
|
|
} RTC_BUDDY_SUBSCRIPTION_TYPE;
|
|
|
|
typedef enum RTC_MEDIA_EVENT_TYPE
|
|
{
|
|
RTCMET_STOPPED,
|
|
RTCMET_STARTED,
|
|
RTCMET_FAILED
|
|
|
|
} RTC_MEDIA_EVENT_TYPE;
|
|
|
|
typedef enum RTC_MEDIA_EVENT_REASON
|
|
{
|
|
RTCMER_NORMAL,
|
|
RTCMER_HOLD,
|
|
RTCMER_TIMEOUT,
|
|
RTCMER_BAD_DEVICE,
|
|
RTCMER_NO_PORT,
|
|
RTCMER_PORT_MAPPING_FAILED,
|
|
RTCMER_REMOTE_REQUEST
|
|
|
|
} RTC_MEDIA_EVENT_REASON;
|
|
|
|
typedef enum RTC_MESSAGING_EVENT_TYPE
|
|
{
|
|
RTCMSET_MESSAGE,
|
|
RTCMSET_STATUS,
|
|
|
|
} RTC_MESSAGING_EVENT_TYPE;
|
|
|
|
typedef enum RTC_MESSAGING_USER_STATUS
|
|
{
|
|
RTCMUS_IDLE,
|
|
RTCMUS_TYPING
|
|
|
|
} RTC_MESSAGING_USER_STATUS;
|
|
|
|
|
|
typedef enum RTC_DTMF
|
|
{
|
|
RTC_DTMF_0,
|
|
RTC_DTMF_1,
|
|
RTC_DTMF_2,
|
|
RTC_DTMF_3,
|
|
RTC_DTMF_4,
|
|
RTC_DTMF_5,
|
|
RTC_DTMF_6,
|
|
RTC_DTMF_7,
|
|
RTC_DTMF_8,
|
|
RTC_DTMF_9,
|
|
RTC_DTMF_STAR,
|
|
RTC_DTMF_POUND,
|
|
RTC_DTMF_A,
|
|
RTC_DTMF_B,
|
|
RTC_DTMF_C,
|
|
RTC_DTMF_D,
|
|
RTC_DTMF_FLASH
|
|
|
|
} RTC_DTMF;
|
|
|
|
typedef enum RTC_PROVIDER_URI
|
|
{
|
|
RTCPU_URIHOMEPAGE,
|
|
RTCPU_URIHELPDESK,
|
|
RTCPU_URIPERSONALACCOUNT,
|
|
RTCPU_URIDISPLAYDURINGCALL,
|
|
RTCPU_URIDISPLAYDURINGIDLE
|
|
|
|
} RTC_PROVIDER_URI;
|
|
|
|
typedef enum RTC_RING_TYPE
|
|
{
|
|
RTCRT_PHONE,
|
|
RTCRT_MESSAGE,
|
|
RTCRT_RINGBACK
|
|
|
|
} RTC_RING_TYPE;
|
|
|
|
typedef enum RTC_T120_APPLET
|
|
{
|
|
RTCTA_WHITEBOARD,
|
|
RTCTA_APPSHARING
|
|
|
|
} RTC_T120_APPLET;
|
|
|
|
typedef enum RTC_PORT_TYPE
|
|
{
|
|
RTCPT_AUDIO_RTP,
|
|
RTCPT_AUDIO_RTCP,
|
|
RTCPT_VIDEO_RTP,
|
|
RTCPT_VIDEO_RTCP,
|
|
RTCPT_SIP
|
|
|
|
} RTC_PORT_TYPE;
|
|
|
|
typedef enum RTC_USER_SEARCH_COLUMN
|
|
{
|
|
RTCUSC_URI,
|
|
RTCUSC_DISPLAYNAME,
|
|
RTCUSC_TITLE,
|
|
RTCUSC_OFFICE,
|
|
RTCUSC_PHONE,
|
|
RTCUSC_COMPANY,
|
|
RTCUSC_CITY,
|
|
RTCUSC_STATE,
|
|
RTCUSC_COUNTRY,
|
|
RTCUSC_EMAIL
|
|
|
|
}RTC_USER_SEARCH_COLUMN;
|
|
|
|
typedef enum RTC_USER_SEARCH_PREFERENCE
|
|
{
|
|
RTCUSP_MAX_MATCHES,
|
|
RTCUSP_TIME_LIMIT
|
|
|
|
} RTC_USER_SEARCH_PREFERENCE;
|
|
|
|
typedef enum RTC_ROAMING_EVENT_TYPE
|
|
{
|
|
RTCRET_BUDDY_ROAMING,
|
|
RTCRET_WATCHER_ROAMING,
|
|
RTCRET_PRESENCE_ROAMING,
|
|
RTCRET_PROFILE_ROAMING,
|
|
RTCRET_WPENDING_ROAMING
|
|
|
|
} RTC_ROAMING_EVENT_TYPE;
|
|
|
|
typedef enum RTC_PROFILE_EVENT_TYPE
|
|
{
|
|
RTCPFET_PROFILE_GET,
|
|
RTCPFET_PROFILE_UPDATE
|
|
|
|
} RTC_PROFILE_EVENT_TYPE;
|
|
|
|
typedef enum RTC_ANSWER_MODE
|
|
{
|
|
RTCAM_OFFER_SESSION_EVENT,
|
|
RTCAM_AUTOMATICALLY_ACCEPT,
|
|
RTCAM_AUTOMATICALLY_REJECT,
|
|
RTCAM_NOT_SUPPORTED
|
|
|
|
} RTC_ANSWER_MODE;
|
|
|
|
typedef enum RTC_SESSION_REFER_STATUS
|
|
{
|
|
RTCSRS_REFERRING,
|
|
RTCSRS_ACCEPTED,
|
|
RTCSRS_ERROR,
|
|
RTCSRS_REJECTED,
|
|
RTCSRS_DROPPED,
|
|
RTCSRS_DONE
|
|
|
|
} RTC_SESSION_REFER_STATUS;
|
|
|
|
typedef enum RTC_PRESENCE_PROPERTY
|
|
{
|
|
RTCPP_PHONENUMBER,
|
|
RTCPP_DISPLAYNAME,
|
|
RTCPP_EMAIL,
|
|
RTCPP_DEVICE_NAME,
|
|
RTCPP_MULTIPLE
|
|
} RTC_PRESENCE_PROPERTY;
|
|
|
|
typedef enum RTC_SECURITY_TYPE
|
|
{
|
|
RTCSECT_AUDIO_VIDEO_MEDIA_ENCRYPTION,
|
|
RTCSECT_T120_MEDIA_ENCRYPTION,
|
|
|
|
} RTC_SECURITY_TYPE;
|
|
|
|
typedef enum RTC_SECURITY_LEVEL
|
|
{
|
|
RTCSECL_UNSUPPORTED = 1,
|
|
RTCSECL_SUPPORTED,
|
|
RTCSECL_REQUIRED
|
|
|
|
} RTC_SECURITY_LEVEL;
|
|
|
|
typedef enum RTC_REINVITE_STATE
|
|
{
|
|
RTCRIN_INCOMING,
|
|
RTCRIN_SUCCEEDED,
|
|
RTCRIN_FAIL
|
|
|
|
} RTC_REINVITE_STATE;
|
|
|
|
// CreateSession flags
|
|
cpp_quote("#define RTCCS_FORCE_PROFILE 0x00000001")
|
|
cpp_quote("#define RTCCS_FAIL_ON_REDIRECT 0x00000002")
|
|
|
|
// Media Types
|
|
cpp_quote("#define RTCMT_AUDIO_SEND 0x00000001")
|
|
cpp_quote("#define RTCMT_AUDIO_RECEIVE 0x00000002")
|
|
cpp_quote("#define RTCMT_VIDEO_SEND 0x00000004")
|
|
cpp_quote("#define RTCMT_VIDEO_RECEIVE 0x00000008")
|
|
cpp_quote("#define RTCMT_T120_SENDRECV 0x00000010")
|
|
|
|
cpp_quote("#define RTCMT_ALL_RTP ( \\")
|
|
cpp_quote(" RTCMT_AUDIO_SEND | \\")
|
|
cpp_quote(" RTCMT_AUDIO_RECEIVE | \\")
|
|
cpp_quote(" RTCMT_VIDEO_SEND | \\")
|
|
cpp_quote(" RTCMT_VIDEO_RECEIVE ) ")
|
|
|
|
cpp_quote("#define RTCMT_ALL ( \\")
|
|
cpp_quote(" RTCMT_ALL_RTP | \\")
|
|
cpp_quote(" RTCMT_T120_SENDRECV ) ")
|
|
|
|
// Session Info
|
|
cpp_quote("#define RTCSI_PC_TO_PC 0x00000001")
|
|
cpp_quote("#define RTCSI_PC_TO_PHONE 0x00000002")
|
|
cpp_quote("#define RTCSI_PHONE_TO_PHONE 0x00000004")
|
|
cpp_quote("#define RTCSI_IM 0x00000008")
|
|
cpp_quote("#define RTCSI_MULTIPARTY_IM 0x00000010")
|
|
cpp_quote("#define RTCSI_APPLICATION 0x00000020")
|
|
|
|
// Transports
|
|
cpp_quote("#define RTCTR_UDP 0x00000001")
|
|
cpp_quote("#define RTCTR_TCP 0x00000002")
|
|
cpp_quote("#define RTCTR_TLS 0x00000004")
|
|
|
|
// Authentication
|
|
cpp_quote("#define RTCAU_BASIC 0x00000001")
|
|
cpp_quote("#define RTCAU_DIGEST 0x00000002")
|
|
cpp_quote("#define RTCAU_NTLM 0x00000004")
|
|
cpp_quote("#define RTCAU_KERBEROS 0x00000008")
|
|
cpp_quote("#define RTCAU_USE_LOGON_CRED 0x00010000")
|
|
|
|
// Registration Flags
|
|
cpp_quote("#define RTCRF_REGISTER_INVITE_SESSIONS 0x00000001")
|
|
cpp_quote("#define RTCRF_REGISTER_MESSAGE_SESSIONS 0x00000002")
|
|
cpp_quote("#define RTCRF_REGISTER_PRESENCE 0x00000004")
|
|
cpp_quote("#define RTCRF_REGISTER_NOTIFY 0x00000008")
|
|
cpp_quote("#define RTCRF_REGISTER_ALL 0x0000000F")
|
|
|
|
// Roaming Flags
|
|
cpp_quote("#define RTCRMF_BUDDY_ROAMING 0x00000001")
|
|
cpp_quote("#define RTCRMF_WATCHER_ROAMING 0x00000002")
|
|
cpp_quote("#define RTCRMF_PRESENCE_ROAMING 0x00000004")
|
|
cpp_quote("#define RTCRMF_PROFILE_ROAMING 0x00000008")
|
|
cpp_quote("#define RTCRMF_ALL_ROAMING 0x0000000F")
|
|
|
|
// Event Filters
|
|
cpp_quote("#define RTCEF_CLIENT 0x00000001")
|
|
cpp_quote("#define RTCEF_REGISTRATION_STATE_CHANGE 0x00000002")
|
|
cpp_quote("#define RTCEF_SESSION_STATE_CHANGE 0x00000004")
|
|
cpp_quote("#define RTCEF_SESSION_OPERATION_COMPLETE 0x00000008")
|
|
cpp_quote("#define RTCEF_PARTICIPANT_STATE_CHANGE 0x00000010")
|
|
cpp_quote("#define RTCEF_MEDIA 0x00000020")
|
|
cpp_quote("#define RTCEF_INTENSITY 0x00000040")
|
|
cpp_quote("#define RTCEF_MESSAGING 0x00000080")
|
|
cpp_quote("#define RTCEF_BUDDY 0x00000100")
|
|
cpp_quote("#define RTCEF_WATCHER 0x00000200")
|
|
cpp_quote("#define RTCEF_PROFILE 0x00000400")
|
|
cpp_quote("#define RTCEF_USERSEARCH 0x00000800")
|
|
cpp_quote("#define RTCEF_INFO 0x00001000")
|
|
cpp_quote("#define RTCEF_GROUP 0x00002000")
|
|
cpp_quote("#define RTCEF_MEDIA_REQUEST 0x00004000")
|
|
//skipping 0x00008000 because VB automatically equates &H8000 to -32768 instead of +32768
|
|
cpp_quote("#define RTCEF_ROAMING 0x00010000")
|
|
cpp_quote("#define RTCEF_PRESENCE_PROPERTY 0x00020000")
|
|
cpp_quote("#define RTCEF_BUDDY2 0x00040000")
|
|
cpp_quote("#define RTCEF_WATCHER2 0x00080000")
|
|
cpp_quote("#define RTCEF_SESSION_REFER_STATUS 0x00100000")
|
|
cpp_quote("#define RTCEF_SESSION_REFERRED 0x00200000")
|
|
cpp_quote("#define RTCEF_REINVITE 0x00400000")
|
|
cpp_quote("#define RTCEF_PRESENCE_DATA 0x00800000")
|
|
cpp_quote("#define RTCEF_PRESENCE_STATUS 0x01000000")
|
|
cpp_quote("#define RTCEF_ALL 0x01FFFFFF")
|
|
|
|
// Initialize Flags
|
|
cpp_quote("#define RTCIF_DISABLE_MEDIA 0x00000001")
|
|
cpp_quote("#define RTCIF_DISABLE_UPNP 0x00000002")
|
|
cpp_quote("#define RTCIF_ENABLE_SERVER_CLASS 0x00000004")
|
|
cpp_quote("#define RTCIF_DISABLE_STRICT_DNS 0x00000008")
|
|
|
|
// Forward Definitions
|
|
interface IRTCClient;
|
|
interface IRTCClientPresence;
|
|
interface IRTCClientPresence2;
|
|
interface IRTCClientProvisioning;
|
|
interface IRTCClientProvisioning2;
|
|
interface IRTCEnumProfiles;
|
|
interface IRTCProfile;
|
|
interface IRTCProfile2;
|
|
interface IRTCSession;
|
|
interface IRTCSession2;
|
|
interface IRTCSessionCallControl;
|
|
interface IRTCParticipant;
|
|
interface IRTCEventNotification;
|
|
interface IRTCEnumParticipants;
|
|
interface IRTCCollection;
|
|
interface IRTCEnumBuddies;
|
|
interface IRTCBuddy;
|
|
interface IRTCBuddy2;
|
|
interface IRTCEnumWatchers;
|
|
interface IRTCWatcher;
|
|
interface IRTCWatcher2;
|
|
interface IRTCEnumGroups;
|
|
interface IRTCBuddyGroup;
|
|
interface IRTCUserSearch;
|
|
interface IRTCUserSearchResultsEvent;
|
|
interface IRTCEnumUserSearchResults;
|
|
interface IRTCUserSearchQuery;
|
|
interface IRTCUserSearchResult;
|
|
interface IRTCPresenceStatusEvent;
|
|
interface IRTCPresencePropertyEvent;
|
|
interface IRTCPresenceDataEvent;
|
|
interface IRTCSessionDescriptionManager;
|
|
interface IRTCEnumPresenceDevices;
|
|
interface IRTCPresenceDevice;
|
|
|
|
[
|
|
object,
|
|
uuid(07829e45-9a34-408e-a011-bddf13487cd1),
|
|
helpstring("IRTCClient Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCClient : IUnknown
|
|
{
|
|
// initialize, shutdown
|
|
|
|
[helpstring("method Initialize")]
|
|
HRESULT Initialize();
|
|
|
|
[helpstring("method Shutdown")]
|
|
HRESULT Shutdown();
|
|
|
|
[helpstring("method PrepareForShutdown")]
|
|
HRESULT PrepareForShutdown();
|
|
|
|
// events
|
|
|
|
[propput, helpstring("property EventFilter")]
|
|
HRESULT EventFilter(
|
|
[in] long lFilter
|
|
);
|
|
|
|
[propget, helpstring("property EventFilter")]
|
|
HRESULT EventFilter(
|
|
[out, retval] long * plFilter
|
|
);
|
|
|
|
// media preferences/capabilities
|
|
|
|
[helpstring("method SetPreferredMediaTypes")]
|
|
HRESULT SetPreferredMediaTypes(
|
|
[in] long lMediaTypes,
|
|
[in] VARIANT_BOOL fPersistent
|
|
);
|
|
|
|
[propget, helpstring("property PreferredMediaTypes")]
|
|
HRESULT PreferredMediaTypes(
|
|
[out, retval] long * plMediaTypes
|
|
);
|
|
|
|
[propget, helpstring("property MediaCapabilities")]
|
|
HRESULT MediaCapabilities(
|
|
[out, retval] long * plMediaTypes
|
|
);
|
|
|
|
// sessions
|
|
|
|
[helpstring("method CreateSession")]
|
|
HRESULT CreateSession(
|
|
[in] RTC_SESSION_TYPE enType,
|
|
[in] BSTR bstrLocalPhoneURI,
|
|
[in] IRTCProfile * pProfile,
|
|
[in] long lFlags,
|
|
[out, retval] IRTCSession ** ppSession
|
|
);
|
|
|
|
// listen mode
|
|
|
|
[propput, helpstring("property ListenForIncomingSessions")]
|
|
HRESULT ListenForIncomingSessions(
|
|
[in] RTC_LISTEN_MODE enListen
|
|
);
|
|
|
|
[propget, helpstring("property ListenForIncomingSessions")]
|
|
HRESULT ListenForIncomingSessions(
|
|
[out, retval] RTC_LISTEN_MODE * penListen
|
|
);
|
|
|
|
// addresses & ports
|
|
[propget, helpstring("property NetworkAddresses")]
|
|
HRESULT NetworkAddresses(
|
|
[in] VARIANT_BOOL fTCP,
|
|
[in] VARIANT_BOOL fExternal,
|
|
[out, retval] VARIANT * pvAddresses
|
|
);
|
|
|
|
// audio control
|
|
|
|
[propput, helpstring("property Volume")]
|
|
HRESULT Volume(
|
|
[in] RTC_AUDIO_DEVICE enDevice,
|
|
[in] long lVolume
|
|
);
|
|
|
|
[propget, helpstring("property Volume")]
|
|
HRESULT Volume(
|
|
[in] RTC_AUDIO_DEVICE enDevice,
|
|
[out, retval] long * plVolume
|
|
);
|
|
|
|
[propput, helpstring("property AudioMuted")]
|
|
HRESULT AudioMuted(
|
|
[in] RTC_AUDIO_DEVICE enDevice,
|
|
[in] VARIANT_BOOL fMuted
|
|
);
|
|
|
|
[propget, helpstring("property AudioMuted")]
|
|
HRESULT AudioMuted(
|
|
[in] RTC_AUDIO_DEVICE enDevice,
|
|
[out, retval] VARIANT_BOOL * pfMuted
|
|
);
|
|
|
|
// video window
|
|
|
|
[propget, helpstring("property IVideoWindow")]
|
|
HRESULT IVideoWindow(
|
|
[in] RTC_VIDEO_DEVICE enDevice,
|
|
[out, retval] IVideoWindow ** ppIVideoWindow
|
|
);
|
|
|
|
// audio/video settings
|
|
|
|
[propput, helpstring("property PreferredAudioDevice")]
|
|
HRESULT PreferredAudioDevice(
|
|
[in] RTC_AUDIO_DEVICE enDevice,
|
|
[in] BSTR bstrDeviceName
|
|
);
|
|
|
|
[propget, helpstring("property PreferredAudioDevice")]
|
|
HRESULT PreferredAudioDevice(
|
|
[in] RTC_AUDIO_DEVICE enDevice,
|
|
[out, retval] BSTR * pbstrDeviceName
|
|
);
|
|
|
|
[propput, helpstring("property PreferredVolume")]
|
|
HRESULT PreferredVolume(
|
|
[in] RTC_AUDIO_DEVICE enDevice,
|
|
[in] long lVolume
|
|
);
|
|
|
|
[propget, helpstring("property PreferredVolume")]
|
|
HRESULT PreferredVolume(
|
|
[in] RTC_AUDIO_DEVICE enDevice,
|
|
[out, retval] long * plVolume
|
|
);
|
|
|
|
[propput, helpstring("property PreferredAEC")]
|
|
HRESULT PreferredAEC(
|
|
[in] VARIANT_BOOL bEnable
|
|
);
|
|
|
|
[propget, helpstring("property PreferredAEC")]
|
|
HRESULT PreferredAEC(
|
|
[out, retval] VARIANT_BOOL * pbEnabled
|
|
);
|
|
|
|
[propput, helpstring("property PreferredVideoDevice")]
|
|
HRESULT PreferredVideoDevice(
|
|
[in] BSTR bstrDeviceName
|
|
);
|
|
|
|
[propget, helpstring("property PreferredVideoDevice")]
|
|
HRESULT PreferredVideoDevice(
|
|
[out, retval] BSTR * pbstrDeviceName
|
|
);
|
|
|
|
|
|
// active media
|
|
|
|
[propget, helpstring("property ActiveMedia")]
|
|
HRESULT ActiveMedia(
|
|
[out, retval] long * plMediaType
|
|
);
|
|
|
|
|
|
// Network quality
|
|
|
|
[propput, helpstring("property MaxBitrate")]
|
|
HRESULT MaxBitrate(
|
|
[in] long lMaxBitrate
|
|
);
|
|
|
|
[propget, helpstring("property MaxBitrate")]
|
|
HRESULT MaxBitrate(
|
|
[out, retval] long * plMaxBitrate
|
|
);
|
|
|
|
[propput, helpstring("property TemporalSpatialTradeOff")]
|
|
HRESULT TemporalSpatialTradeOff(
|
|
[in] long lValue
|
|
);
|
|
|
|
[propget, helpstring("property TemporalSpatialTradeOff")]
|
|
HRESULT TemporalSpatialTradeOff(
|
|
[out, retval] long * plValue
|
|
);
|
|
|
|
[propget, helpstring("property NetworkQuality")]
|
|
HRESULT NetworkQuality(
|
|
[out, retval] long * plNetworkQuality
|
|
);
|
|
|
|
|
|
// T120 applet control
|
|
|
|
[helpstring("method StartT120Applet")]
|
|
HRESULT StartT120Applet(
|
|
[in] RTC_T120_APPLET enApplet
|
|
);
|
|
|
|
[helpstring("method StopT120Applets")]
|
|
HRESULT StopT120Applets();
|
|
|
|
[propget, helpstring("property IsT120AppletRunning")]
|
|
HRESULT IsT120AppletRunning(
|
|
[in] RTC_T120_APPLET enApplet,
|
|
[out, retval] VARIANT_BOOL * pfRunning
|
|
);
|
|
|
|
|
|
// local user info
|
|
|
|
[propget, helpstring("property LocalUserURI")]
|
|
HRESULT LocalUserURI(
|
|
[out, retval] BSTR * pbstrUserURI
|
|
);
|
|
|
|
[propput, helpstring("property LocalUserURI")]
|
|
HRESULT LocalUserURI(
|
|
[in] BSTR bstrUserURI
|
|
);
|
|
|
|
[propget, helpstring("property LocalUserName")]
|
|
HRESULT LocalUserName(
|
|
[out, retval] BSTR * pbstrUserName
|
|
);
|
|
|
|
[propput, helpstring("property LocalUserName")]
|
|
HRESULT LocalUserName(
|
|
[in] BSTR bstrUserName
|
|
);
|
|
|
|
// other
|
|
|
|
[helpstring("method PlayRing")]
|
|
HRESULT PlayRing(
|
|
[in] RTC_RING_TYPE enType,
|
|
[in] VARIANT_BOOL bPlay
|
|
);
|
|
|
|
[helpstring("method SendDTMF")]
|
|
HRESULT SendDTMF(
|
|
[in] RTC_DTMF enDTMF
|
|
);
|
|
|
|
[helpstring("method InvokeTuningWizard")]
|
|
HRESULT InvokeTuningWizard(
|
|
[in] OAHWND hwndParent
|
|
);
|
|
|
|
[propget, helpstring("property IsTuned")]
|
|
HRESULT IsTuned(
|
|
[out, retval] VARIANT_BOOL * pfTuned
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(0C91D71D-1064-42da-BFA5-572BEB8EEA84),
|
|
helpstring("IRTCClient2 Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCClient2 : IRTCClient
|
|
{
|
|
[propput, helpstring("property AnswerMode")]
|
|
HRESULT AnswerMode(
|
|
[in] RTC_SESSION_TYPE enType,
|
|
[in] RTC_ANSWER_MODE enMode
|
|
);
|
|
|
|
[propget, helpstring("property AnswerMode")]
|
|
HRESULT AnswerMode(
|
|
[in] RTC_SESSION_TYPE enType,
|
|
[out, retval] RTC_ANSWER_MODE * penMode
|
|
);
|
|
|
|
[helpstring("method InvokeTuningWizardEx")]
|
|
HRESULT InvokeTuningWizardEx(
|
|
[in] OAHWND hwndParent,
|
|
[in] VARIANT_BOOL fAllowAudio ,
|
|
[in] VARIANT_BOOL fAllowVideo
|
|
);
|
|
|
|
[propget, helpstring("property Version")]
|
|
HRESULT Version(
|
|
[out, retval] long * plVersion
|
|
);
|
|
|
|
[propput, helpstring("property ClientName")]
|
|
HRESULT ClientName(
|
|
[in] BSTR bstrClientName
|
|
);
|
|
|
|
[propput, helpstring("property ClientCurVer")]
|
|
HRESULT ClientCurVer(
|
|
[in] BSTR bstrClientCurVer
|
|
);
|
|
|
|
[helpstring("method InitializeEx")]
|
|
HRESULT InitializeEx(
|
|
[in] long lFlags
|
|
);
|
|
|
|
[helpstring("method CreateSessionWithDescription")]
|
|
HRESULT CreateSessionWithDescription(
|
|
[in] BSTR bstrContentType,
|
|
[in] BSTR bstrSessionDescription,
|
|
[in] IRTCProfile * pProfile,
|
|
[in] long lFlags,
|
|
[out, retval] IRTCSession2 ** ppSession2
|
|
);
|
|
|
|
[helpstring("method SetSessionDescriptionManager")]
|
|
HRESULT SetSessionDescriptionManager(
|
|
[in] IRTCSessionDescriptionManager *pSessionDescriptionManager
|
|
);
|
|
|
|
[propput, helpstring("property PreferredSecurityLevel")]
|
|
HRESULT PreferredSecurityLevel(
|
|
[in] RTC_SECURITY_TYPE enSecurityType,
|
|
[in] RTC_SECURITY_LEVEL enSecurityLevel
|
|
);
|
|
|
|
[propget, helpstring("property PreferredSecurityLevel")]
|
|
HRESULT PreferredSecurityLevel(
|
|
[in] RTC_SECURITY_TYPE enSecurityType,
|
|
[out, retval] RTC_SECURITY_LEVEL * penSecurityLevel
|
|
);
|
|
|
|
[propput, helpstring("property AllowedPorts")]
|
|
HRESULT AllowedPorts(
|
|
[in] long lTransport,
|
|
[in] RTC_LISTEN_MODE enListenMode
|
|
);
|
|
|
|
[propget, helpstring("property AllowedPorts")]
|
|
HRESULT AllowedPorts(
|
|
[in] long lTransport,
|
|
[out, retval] RTC_LISTEN_MODE * penListenMode
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(11c3cbcc-0744-42d1-968a-51aa1bb274c6),
|
|
helpstring("IRTCClientPresence Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCClientPresence : IUnknown
|
|
{
|
|
|
|
// enable
|
|
|
|
[helpstring("method EnablePresence")]
|
|
HRESULT EnablePresence(
|
|
[in] VARIANT_BOOL fUseStorage,
|
|
[in] VARIANT varStorage
|
|
);
|
|
|
|
// snapshots & import/export
|
|
|
|
[helpstring("method Export")]
|
|
HRESULT Export(
|
|
[in] VARIANT varStorage
|
|
);
|
|
|
|
[helpstring("method Import")]
|
|
HRESULT Import(
|
|
[in] VARIANT varStorage,
|
|
[in] VARIANT_BOOL fReplaceAll
|
|
);
|
|
|
|
// buddies
|
|
|
|
[hidden, helpstring("method EnumerateBuddies")]
|
|
HRESULT EnumerateBuddies(
|
|
[out, retval] IRTCEnumBuddies ** ppEnum
|
|
);
|
|
|
|
[propget, helpstring("property Buddies")]
|
|
HRESULT Buddies(
|
|
[out, retval] IRTCCollection ** ppCollection
|
|
);
|
|
|
|
[propget, helpstring("property Buddy")]
|
|
HRESULT Buddy(
|
|
[in] BSTR bstrPresentityURI,
|
|
[out, retval] IRTCBuddy **ppBuddy
|
|
);
|
|
|
|
[helpstring("method AddBuddy")]
|
|
HRESULT AddBuddy(
|
|
[in] BSTR bstrPresentityURI,
|
|
[in] BSTR bstrUserName,
|
|
[in] BSTR bstrData,
|
|
[in] VARIANT_BOOL fPersistent,
|
|
[in] IRTCProfile * pProfile,
|
|
[in] long lFlags,
|
|
[out, retval] IRTCBuddy **ppBuddy
|
|
);
|
|
|
|
[helpstring("method RemoveBuddy")]
|
|
HRESULT RemoveBuddy(
|
|
[in] IRTCBuddy *pBuddy
|
|
);
|
|
|
|
// watchers
|
|
[hidden, helpstring("method EnumerateWatchers")]
|
|
HRESULT EnumerateWatchers(
|
|
[out, retval] IRTCEnumWatchers ** ppEnum
|
|
);
|
|
|
|
[propget, helpstring("property Watchers")]
|
|
HRESULT Watchers(
|
|
[out, retval] IRTCCollection ** ppCollection
|
|
);
|
|
|
|
[propget, helpstring("property Watcher")]
|
|
HRESULT Watcher(
|
|
[in] BSTR bstrPresentityURI,
|
|
[out, retval] IRTCWatcher **ppWatcher
|
|
);
|
|
|
|
[helpstring("method AddWatcher")]
|
|
HRESULT AddWatcher(
|
|
[in] BSTR bstrPresentityURI,
|
|
[in] BSTR bstrUserName,
|
|
[in] BSTR bstrData,
|
|
[in] VARIANT_BOOL fBlocked,
|
|
[in] VARIANT_BOOL fPersistent,
|
|
[out, retval] IRTCWatcher **ppWatcher
|
|
);
|
|
|
|
[helpstring("method RemoveWatcher")]
|
|
HRESULT RemoveWatcher(
|
|
[in] IRTCWatcher *pWatcher
|
|
);
|
|
|
|
[helpstring("method SetLocalPresenceInfo")]
|
|
HRESULT SetLocalPresenceInfo(
|
|
[in] RTC_PRESENCE_STATUS enStatus,
|
|
[in] BSTR bstrNotes
|
|
);
|
|
|
|
// policies
|
|
[propget, helpstring("property OfferWatcherMode")]
|
|
HRESULT OfferWatcherMode(
|
|
[out, retval] RTC_OFFER_WATCHER_MODE * penMode
|
|
);
|
|
|
|
[propput, helpstring("property OfferWatcherMode")]
|
|
HRESULT OfferWatcherMode(
|
|
[in] RTC_OFFER_WATCHER_MODE enMode
|
|
);
|
|
|
|
[propget, helpstring("property PrivacyMode")]
|
|
HRESULT PrivacyMode(
|
|
[out, retval] RTC_PRIVACY_MODE * penMode
|
|
);
|
|
|
|
[propput, helpstring("property PrivacyMode")]
|
|
HRESULT PrivacyMode(
|
|
[in] RTC_PRIVACY_MODE enMode
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(AD1809E8-62F7-4783-909A-29C9D2CB1D34),
|
|
helpstring("IRTCClientPresence2 Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCClientPresence2 : IRTCClientPresence
|
|
{
|
|
[helpstring("method EnablePresenceEx")]
|
|
HRESULT EnablePresenceEx(
|
|
[in] IRTCProfile * pProfile,
|
|
[in] VARIANT varStorage,
|
|
[in] long lFlags
|
|
);
|
|
|
|
[helpstring("method DisablePresence")]
|
|
HRESULT DisablePresence();
|
|
|
|
[helpstring("method AddGroup")]
|
|
HRESULT AddGroup(
|
|
[in] BSTR bstrGroupName,
|
|
[in] BSTR bstrData,
|
|
[in] IRTCProfile * pProfile,
|
|
[in] long lFlags,
|
|
[out, retval] IRTCBuddyGroup ** ppGroup
|
|
);
|
|
|
|
[helpstring("method RemoveGroup")]
|
|
HRESULT RemoveGroup(
|
|
[in] IRTCBuddyGroup * pGroup
|
|
);
|
|
|
|
[hidden, helpstring("method EnumerateGroups")]
|
|
HRESULT EnumerateGroups(
|
|
[out, retval] IRTCEnumGroups ** ppEnum
|
|
);
|
|
|
|
[propget, helpstring("property Groups")]
|
|
HRESULT Groups(
|
|
[out, retval] IRTCCollection ** ppCollection
|
|
);
|
|
|
|
[propget, helpstring("property Group")]
|
|
HRESULT Group(
|
|
[in] BSTR bstrGroupName,
|
|
[out, retval] IRTCBuddyGroup ** ppGroup
|
|
);
|
|
|
|
[helpstring("method AddWatcherEx")]
|
|
HRESULT AddWatcherEx(
|
|
[in] BSTR bstrPresentityURI,
|
|
[in] BSTR bstrUserName,
|
|
[in] BSTR bstrData,
|
|
[in] RTC_WATCHER_STATE enState,
|
|
[in] VARIANT_BOOL fPersistent,
|
|
[in] RTC_ACE_SCOPE enScope,
|
|
[in] IRTCProfile * pProfile,
|
|
[in] long lFlags,
|
|
[out, retval] IRTCWatcher2 **ppWatcher
|
|
);
|
|
|
|
[propget, helpstring("property WatcherEx")]
|
|
HRESULT WatcherEx(
|
|
[in] RTC_WATCHER_MATCH_MODE enMode,
|
|
[in] BSTR bstrPresentityURI,
|
|
[out, retval] IRTCWatcher2 **ppWatcher
|
|
);
|
|
|
|
[propput, helpstring("property PresenceProperty")]
|
|
HRESULT PresenceProperty([in] RTC_PRESENCE_PROPERTY enProperty, [in] BSTR bstrProperty);
|
|
|
|
[propget, helpstring("property PresenceProperty")]
|
|
HRESULT PresenceProperty([in] RTC_PRESENCE_PROPERTY enProperty, [out,retval] BSTR *pbstrProperty);
|
|
|
|
[helpstring("method SetPresenceData")]
|
|
HRESULT SetPresenceData([in] BSTR bstrNamespace, [in] BSTR bstrData);
|
|
|
|
[helpstring("method GetPresenceData")]
|
|
HRESULT GetPresenceData([out] BSTR *pbstrNamespace, [out] BSTR *pbstrData);
|
|
|
|
[helpstring("method GetLocalPresenceInfo")]
|
|
HRESULT GetLocalPresenceInfo(
|
|
[out] RTC_PRESENCE_STATUS *penStatus,
|
|
[out] BSTR *pbstrNotes
|
|
);
|
|
|
|
[helpstring("method AddBuddyEx")]
|
|
HRESULT AddBuddyEx(
|
|
[in] BSTR bstrPresentityURI,
|
|
[in] BSTR bstrUserName,
|
|
[in] BSTR bstrData,
|
|
[in] VARIANT_BOOL fPersistent,
|
|
[in] RTC_BUDDY_SUBSCRIPTION_TYPE enSubscriptionType,
|
|
[in] IRTCProfile * pProfile,
|
|
[in] long lFlags,
|
|
[out, retval] IRTCBuddy2 **ppBuddy
|
|
);
|
|
};
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(B9F5CF06-65B9-4a80-A0E6-73CAE3EF3822),
|
|
helpstring("IRTCClientProvisioning Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCClientProvisioning : IUnknown
|
|
{
|
|
[helpstring("method CreateProfile")]
|
|
HRESULT CreateProfile(
|
|
[in] BSTR bstrProfileXML,
|
|
[out, retval] IRTCProfile ** ppProfile
|
|
);
|
|
|
|
[helpstring("method EnableProfile")]
|
|
HRESULT EnableProfile(
|
|
[in] IRTCProfile * pProfile,
|
|
[in] long lRegisterFlags
|
|
);
|
|
|
|
[helpstring("method DisableProfile")]
|
|
HRESULT DisableProfile(
|
|
[in] IRTCProfile * pProfile
|
|
);
|
|
|
|
[hidden, helpstring("method EnumerateProfiles")]
|
|
HRESULT EnumerateProfiles(
|
|
[out, retval] IRTCEnumProfiles ** ppEnum
|
|
);
|
|
|
|
[propget, helpstring("property Profiles")]
|
|
HRESULT Profiles(
|
|
[out, retval] IRTCCollection ** ppCollection
|
|
);
|
|
|
|
[helpstring("method GetProfile")]
|
|
HRESULT GetProfile(
|
|
[in] BSTR bstrUserAccount,
|
|
[in] BSTR bstrUserPassword,
|
|
[in] BSTR bstrUserURI,
|
|
[in] BSTR bstrServer,
|
|
[in] long lTransport,
|
|
[in] LONG_PTR lCookie
|
|
);
|
|
|
|
[propget, helpstring("property SessionCapabilities")]
|
|
HRESULT SessionCapabilities(
|
|
[out, retval] long * plSupportedSessions);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(A70909B5-F40E-4587-BB75-E6BC0845023E),
|
|
helpstring("IRTCClientProvisioning2 Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCClientProvisioning2 : IRTCClientProvisioning
|
|
{
|
|
[helpstring("method EnableProfileEx")]
|
|
HRESULT EnableProfileEx(
|
|
[in] IRTCProfile * pProfile,
|
|
[in] long lRegisterFlags,
|
|
[in] long lRoamingFlags
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(d07eca9e-4062-4dd4-9e7d-722a49ba7303),
|
|
helpstring("IRTCProfile Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCProfile : IUnknown
|
|
{
|
|
[propget, helpstring("property Key")]
|
|
HRESULT Key(
|
|
[out, retval] BSTR * pbstrKey);
|
|
|
|
[propget, helpstring("property Name")]
|
|
HRESULT Name(
|
|
[out, retval] BSTR * pbstrName);
|
|
|
|
[propget, helpstring("property XML")]
|
|
HRESULT XML(
|
|
[out, retval] BSTR * pbstrXML);
|
|
|
|
// Provider
|
|
|
|
[propget, helpstring("property ProviderName")]
|
|
HRESULT ProviderName(
|
|
[out, retval] BSTR * pbstrName);
|
|
|
|
[propget, helpstring("property ProviderURI")]
|
|
HRESULT ProviderURI(
|
|
[in] RTC_PROVIDER_URI enURI,
|
|
[out, retval] BSTR * pbstrURI);
|
|
|
|
[propget, helpstring("property ProviderData")]
|
|
HRESULT ProviderData(
|
|
[out, retval] BSTR * pbstrData);
|
|
|
|
// Client
|
|
|
|
[propget, helpstring("property ClientName")]
|
|
HRESULT ClientName(
|
|
[out, retval] BSTR * pbstrName);
|
|
|
|
[propget, helpstring("property ClientBanner")]
|
|
HRESULT ClientBanner(
|
|
[out, retval] VARIANT_BOOL * pfBanner);
|
|
|
|
[propget, helpstring("property ClientMinVer")]
|
|
HRESULT ClientMinVer(
|
|
[out, retval] BSTR * pbstrMinVer);
|
|
|
|
[propget, helpstring("property ClientCurVer")]
|
|
HRESULT ClientCurVer(
|
|
[out, retval] BSTR * pbstrCurVer);
|
|
|
|
[propget, helpstring("property ClientUpdateURI")]
|
|
HRESULT ClientUpdateURI(
|
|
[out, retval] BSTR * pbstrUpdateURI);
|
|
|
|
[propget, helpstring("property ClientData")]
|
|
HRESULT ClientData(
|
|
[out, retval] BSTR * pbstrData);
|
|
|
|
// User
|
|
|
|
[propget, helpstring("property UserURI")]
|
|
HRESULT UserURI(
|
|
[out, retval] BSTR * pbstrUserURI);
|
|
|
|
[propget, helpstring("property UserName")]
|
|
HRESULT UserName(
|
|
[out, retval] BSTR * pbstrUserName);
|
|
|
|
[propget, helpstring("property UserAccount")]
|
|
HRESULT UserAccount(
|
|
[out, retval] BSTR * pbstrUserAccount);
|
|
|
|
[helpstring("method SetCredentials")]
|
|
HRESULT SetCredentials(
|
|
[in] BSTR bstrUserURI,
|
|
[in] BSTR bstrUserAccount,
|
|
[in] BSTR bstrPassword);
|
|
|
|
// Server
|
|
|
|
[propget, helpstring("property SessionCapabilities")]
|
|
HRESULT SessionCapabilities(
|
|
[out, retval] long * plSupportedSessions);
|
|
|
|
// Registration
|
|
|
|
[propget, helpstring("property State")]
|
|
HRESULT State(
|
|
[out, retval] RTC_REGISTRATION_STATE * penState);
|
|
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(4B81F84E-BDC7-4184-9154-3CB2DD7917FB),
|
|
helpstring("IRTCProfile2 Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCProfile2 : IRTCProfile
|
|
{
|
|
[propget, helpstring("property Realm")]
|
|
HRESULT Realm(
|
|
[out, retval] BSTR * pbstrRealm
|
|
);
|
|
|
|
[propput, helpstring("property Realm")]
|
|
HRESULT Realm(
|
|
[in] BSTR bstrRealm
|
|
);
|
|
|
|
[propget, helpstring("property AllowedAuth")]
|
|
HRESULT AllowedAuth(
|
|
[out, retval] long * plAllowedAuth
|
|
);
|
|
|
|
[propput, helpstring("property AllowedAuth")]
|
|
HRESULT AllowedAuth(
|
|
[in] long lAllowedAuth
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(387c8086-99be-42fb-9973-7c0fc0ca9fa8),
|
|
helpstring("IRTCSession Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCSession : IUnknown
|
|
{
|
|
// properties
|
|
|
|
[propget, helpstring("property Client")]
|
|
HRESULT Client(
|
|
[out, retval] IRTCClient **ppClient
|
|
);
|
|
|
|
[propget, helpstring("property State")]
|
|
HRESULT State(
|
|
[out, retval] RTC_SESSION_STATE * penState
|
|
);
|
|
|
|
[propget, helpstring("property Type")]
|
|
HRESULT Type(
|
|
[out, retval] RTC_SESSION_TYPE * penType
|
|
);
|
|
|
|
[propget, helpstring("property Profile")]
|
|
HRESULT Profile(
|
|
[out, retval] IRTCProfile ** ppProfile
|
|
);
|
|
|
|
[propget, helpstring("property Participants")]
|
|
HRESULT Participants(
|
|
[out, retval] IRTCCollection ** ppCollection
|
|
);
|
|
|
|
// call control
|
|
|
|
[helpstring("method Answer")]
|
|
HRESULT Answer();
|
|
|
|
[helpstring("method Terminate")]
|
|
HRESULT Terminate(
|
|
[in] RTC_TERMINATE_REASON enReason
|
|
);
|
|
|
|
[helpstring("method Redirect")]
|
|
HRESULT Redirect(
|
|
[in] RTC_SESSION_TYPE enType,
|
|
[in] BSTR bstrLocalPhoneURI,
|
|
[in] IRTCProfile * pProfile,
|
|
[in] long lFlags
|
|
);
|
|
|
|
[helpstring("method AddParticipant")]
|
|
HRESULT AddParticipant(
|
|
[in] BSTR bstrAddress,
|
|
[in] BSTR bstrName,
|
|
[out, retval] IRTCParticipant ** ppParticipant
|
|
);
|
|
|
|
[helpstring("method RemoveParticipant")]
|
|
HRESULT RemoveParticipant(
|
|
[in] IRTCParticipant * pParticipant
|
|
);
|
|
|
|
[hidden, helpstring("method EnumerateParticipants")]
|
|
HRESULT EnumerateParticipants(
|
|
[out, retval] IRTCEnumParticipants ** ppEnum
|
|
);
|
|
|
|
[propget, helpstring("property CanAddParticipants")]
|
|
HRESULT CanAddParticipants(
|
|
[out, retval] VARIANT_BOOL * pfCanAdd
|
|
);
|
|
|
|
// redirection context control
|
|
[propget, helpstring("property RedirectedUserURI")]
|
|
HRESULT RedirectedUserURI(
|
|
[out, retval] BSTR * pbstrUserURI
|
|
);
|
|
|
|
[propget, helpstring("property RedirectedUserName")]
|
|
HRESULT RedirectedUserName(
|
|
[out, retval] BSTR * pbstrUserName
|
|
);
|
|
|
|
[helpstring("method NextRedirectedUser")]
|
|
HRESULT NextRedirectedUser();
|
|
|
|
// instant messaging
|
|
|
|
[helpstring("method SendMessage")]
|
|
HRESULT SendMessage(
|
|
[in] BSTR bstrMessageHeader,
|
|
[in] BSTR bstrMessage,
|
|
[in] LONG_PTR lCookie
|
|
);
|
|
|
|
[helpstring("method SendMessageStatus")]
|
|
HRESULT SendMessageStatus(
|
|
[in] RTC_MESSAGING_USER_STATUS enUserStatus,
|
|
[in] LONG_PTR lCookie
|
|
);
|
|
|
|
// stream & custom media control
|
|
[helpstring("method AddStream")]
|
|
HRESULT AddStream(
|
|
[in] long lMediaType,
|
|
[in] LONG_PTR lCookie
|
|
);
|
|
|
|
[helpstring("method RemoveStream")]
|
|
HRESULT RemoveStream(
|
|
[in] long lMediaType,
|
|
[in] LONG_PTR lCookie
|
|
);
|
|
|
|
// keys
|
|
[propput, helpstring("property EncryptionKey")]
|
|
HRESULT EncryptionKey(
|
|
[in] long lMediaType,
|
|
[in] BSTR EncryptionKey
|
|
);
|
|
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(17D7CDFC-B007-484c-99D2-86A8A820991D),
|
|
helpstring("IRTCSession2 Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCSession2 : IRTCSession
|
|
{
|
|
[helpstring("Method SendInfo")]
|
|
HRESULT SendInfo(
|
|
[in] BSTR bstrInfoHeader,
|
|
[in] BSTR bstrInfo,
|
|
[in] LONG_PTR lCookie
|
|
);
|
|
|
|
[propput, helpstring("property PreferredSecurityLevel")]
|
|
HRESULT PreferredSecurityLevel(
|
|
[in] RTC_SECURITY_TYPE enSecurityType,
|
|
[in] RTC_SECURITY_LEVEL enSecurityLevel
|
|
);
|
|
|
|
[propget, helpstring("property PreferredSecurityLevel")]
|
|
HRESULT PreferredSecurityLevel(
|
|
[in] RTC_SECURITY_TYPE enSecurityType,
|
|
[out, retval] RTC_SECURITY_LEVEL * penSecurityLevel
|
|
);
|
|
|
|
[helpstring("method IsSecurityEnabled")]
|
|
HRESULT IsSecurityEnabled(
|
|
[in] RTC_SECURITY_TYPE enSecurityType,
|
|
[out, retval] VARIANT_BOOL * pfSecurityEnabled
|
|
);
|
|
|
|
//
|
|
// SessionDescription control
|
|
//
|
|
|
|
[helpstring("method AnswerWithSessionDescription")]
|
|
HRESULT AnswerWithSessionDescription(
|
|
[in] BSTR bstrContentType,
|
|
[in] BSTR bstrSessionDescription
|
|
);
|
|
|
|
[helpstring("method ReInviteWithSessionDescription")]
|
|
HRESULT ReInviteWithSessionDescription(
|
|
[in] BSTR bstrContentType,
|
|
[in] BSTR bstrSessionDescription,
|
|
[in] LONG_PTR lCookie
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(E9A50D94-190B-4F82-9530-3B8EBF60758A),
|
|
helpstring("IRTCSessionCallControl Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCSessionCallControl : IUnknown
|
|
{
|
|
// hold, unhold methods
|
|
[helpstring("method Hold")]
|
|
HRESULT Hold(
|
|
[in] LONG_PTR lCookie
|
|
);
|
|
|
|
[helpstring("method UnHold")]
|
|
HRESULT UnHold(
|
|
[in] LONG_PTR lCookie
|
|
);
|
|
|
|
// forward method
|
|
[helpstring("method Forward")]
|
|
HRESULT Forward(
|
|
[in] BSTR bstrForwardToURI
|
|
);
|
|
|
|
// refer methods
|
|
[helpstring("method Refer")]
|
|
HRESULT Refer(
|
|
[in] BSTR bstrReferToURI,
|
|
[in] BSTR bstrReferCookie
|
|
);
|
|
|
|
[propput, helpstring("property ReferredByURI")]
|
|
HRESULT ReferredByURI(
|
|
[in] BSTR bstrReferredByURI
|
|
);
|
|
|
|
[propget, helpstring("property ReferredByURI")]
|
|
HRESULT ReferredByURI(
|
|
[out, retval] BSTR *pbstrReferredByURI
|
|
);
|
|
|
|
[propput, helpstring("property ReferCookie")]
|
|
HRESULT ReferCookie(
|
|
[in] BSTR bstrReferCookie
|
|
);
|
|
|
|
[propget, helpstring("property ReferCookie")]
|
|
HRESULT ReferCookie(
|
|
[out, retval] BSTR *pbstrReferCookie
|
|
);
|
|
|
|
[propget, helpstring("property IsReferred")]
|
|
HRESULT IsReferred(
|
|
[out, retval] VARIANT_BOOL *pfIsReferred
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(ae86add5-26b1-4414-af1d-b94cd938d739),
|
|
helpstring("IRTCParticipant Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCParticipant : IUnknown
|
|
{
|
|
[propget, helpstring("property UserURI")]
|
|
HRESULT UserURI(
|
|
[out, retval] BSTR * pbstrUserURI
|
|
);
|
|
|
|
[propget, helpstring("property Name")]
|
|
HRESULT Name(
|
|
[out, retval] BSTR * pbstrName
|
|
);
|
|
|
|
[propget, helpstring("property Removable")]
|
|
HRESULT Removable(
|
|
[out, retval] VARIANT_BOOL * pfRemovable
|
|
);
|
|
|
|
[propget, helpstring("property State")]
|
|
HRESULT State(
|
|
[out, retval] RTC_PARTICIPANT_STATE * penState
|
|
);
|
|
|
|
[propget, helpstring("property Session")]
|
|
HRESULT Session(
|
|
[out, retval] IRTCSession ** ppSession
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(79960a6b-0cb1-4dc8-a805-7318e99902e8),
|
|
dual,
|
|
helpstring("IRTCRoamingEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCRoamingEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property EventType")]
|
|
HRESULT EventType( [out, retval] RTC_ROAMING_EVENT_TYPE *pEventType );
|
|
|
|
[propget, id(2), helpstring("property Profile")]
|
|
HRESULT Profile( [out, retval] IRTCProfile2 ** ppProfile );
|
|
|
|
[propget, id(3), helpstring("property StatusCode")]
|
|
HRESULT StatusCode( [out, retval] long * plStatusCode );
|
|
|
|
[propget, id(4), helpstring("property StatusText")]
|
|
HRESULT StatusText( [out, retval] BSTR * pbstrStatusText );
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(D6D5AB3B-770E-43e8-800A-79B062395FCA),
|
|
dual,
|
|
helpstring("IRTCProfileEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCProfileEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property Profile")]
|
|
HRESULT Profile( [out, retval] IRTCProfile ** ppProfile );
|
|
|
|
[propget, id(2), helpstring("property Cookie")]
|
|
HRESULT Cookie( [out, retval] LONG_PTR * plCookie );
|
|
|
|
[propget, id(3), helpstring("property StatusCode")]
|
|
HRESULT StatusCode( [out, retval] long * plStatusCode );
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(62E56EDC-03FA-4121-94FB-23493FD0AE64),
|
|
dual,
|
|
helpstring("IRTCProfileEvent2"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCProfileEvent2 : IRTCProfileEvent
|
|
{
|
|
[propget, id(4), helpstring("property EventType")]
|
|
HRESULT EventType( [out, retval] RTC_PROFILE_EVENT_TYPE *pEventType );
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(2b493b7a-3cba-4170-9c8b-76a9dacdd644),
|
|
dual,
|
|
helpstring("IRTCClientEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCClientEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property EventType")]
|
|
HRESULT EventType( [out, retval] RTC_CLIENT_EVENT_TYPE * penEventType );
|
|
|
|
[propget, id(2), helpstring("property Client")]
|
|
HRESULT Client( [out, retval] IRTCClient **ppClient );
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(62d0991b-50ab-4f02-b948-ca94f26f8f95),
|
|
dual,
|
|
helpstring("IRTCRegistrationStateChangeEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCRegistrationStateChangeEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property Profile")]
|
|
HRESULT Profile( [out, retval] IRTCProfile ** ppProfile );
|
|
|
|
[propget, id(2), helpstring("property State")]
|
|
HRESULT State( [out, retval] RTC_REGISTRATION_STATE * penState );
|
|
|
|
[propget, id(3), helpstring("property StatusCode")]
|
|
HRESULT StatusCode( [out, retval] long * plStatusCode );
|
|
|
|
[propget, id(4), helpstring("property StatusText")]
|
|
HRESULT StatusText( [out, retval] BSTR * pbstrStatusText );
|
|
}
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(b5bad703-5952-48b3-9321-7f4500521506),
|
|
dual,
|
|
helpstring("IRTCSessionStateChangeEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCSessionStateChangeEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property Session")]
|
|
HRESULT Session( [out, retval] IRTCSession ** ppSession );
|
|
|
|
[propget, id(2), helpstring("property State")]
|
|
HRESULT State( [out, retval] RTC_SESSION_STATE * penState );
|
|
|
|
[propget, id(3), helpstring("property StatusCode")]
|
|
HRESULT StatusCode( [out, retval] long * plStatusCode );
|
|
|
|
[propget, id(4), helpstring("property StatusText")]
|
|
HRESULT StatusText( [out, retval] BSTR * pbstrStatusText );
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(4F933171-6F95-4880-80D9-2EC8D495D261),
|
|
dual,
|
|
helpstring("IRTCSessionStateChangeEvent2"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCSessionStateChangeEvent2 : IRTCSessionStateChangeEvent
|
|
{
|
|
[propget, id(5), helpstring("property MediaTypes")]
|
|
HRESULT MediaTypes( [out, retval] long * pMediaTypes );
|
|
|
|
[propget, id(6), helpstring("property RemotePreferredSecurityLevel")]
|
|
HRESULT RemotePreferredSecurityLevel(
|
|
[in] RTC_SECURITY_TYPE enSecurityType,
|
|
[out, retval] RTC_SECURITY_LEVEL * penSecurityLevel
|
|
);
|
|
|
|
[propget, id(7), helpstring("property IsForked")]
|
|
HRESULT IsForked(
|
|
[out, retval] VARIANT_BOOL *pfIsForked
|
|
);
|
|
|
|
[id(8), helpstring("method GetRemoteSessionDescription")]
|
|
HRESULT GetRemoteSessionDescription(
|
|
[out] BSTR * pbstrContentType,
|
|
[out] BSTR * pbstrSessionDescription
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(a6bff4c0-f7c8-4d3c-9a41-3550f78a95b0),
|
|
dual,
|
|
helpstring("IRTCSessionOperationCompleteEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IRTCSessionOperationCompleteEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property Session")]
|
|
HRESULT Session( [out, retval] IRTCSession ** ppSession );
|
|
|
|
[propget, id(2), helpstring("property Cookie")]
|
|
HRESULT Cookie( [out, retval] LONG_PTR * plCookie );
|
|
|
|
[propget, id(3), helpstring("property StatusCode")]
|
|
HRESULT StatusCode( [out, retval] long * plStatusCode );
|
|
|
|
[propget, id(4), helpstring("property StatusText")]
|
|
HRESULT StatusText( [out, retval] BSTR * pbstrStatusText );
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(f6fc2a9b-d5bc-4241-b436-1b8460c13832),
|
|
dual,
|
|
helpstring("IRTCSessionOperationCompleteEvent2"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCSessionOperationCompleteEvent2 : IRTCSessionOperationCompleteEvent
|
|
{
|
|
[propget, id(5), helpstring("property Participant")]
|
|
HRESULT Participant( [out, retval] IRTCParticipant ** ppParticipant );
|
|
|
|
[id(6), helpstring("method GetRemoteSessionDescription")]
|
|
HRESULT GetRemoteSessionDescription(
|
|
[out] BSTR * pbstrContentType,
|
|
[out] BSTR * pbstrSessionDescription
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(09bcb597-f0fa-48f9-b420-468cea7fde04),
|
|
dual,
|
|
helpstring("IRTCParticipantStateChangeEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCParticipantStateChangeEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property Participant")]
|
|
HRESULT Participant( [out, retval] IRTCParticipant ** ppParticipant );
|
|
|
|
[propget, id(2), helpstring("property State")]
|
|
HRESULT State( [out, retval] RTC_PARTICIPANT_STATE * penState );
|
|
|
|
[propget, id(3), helpstring("property StatusCode")]
|
|
HRESULT StatusCode( [out, retval] long * plStatusCode );
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(099944fb-bcda-453e-8c41-e13da2adf7f3),
|
|
dual,
|
|
helpstring("IRTCMediaEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCMediaEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property MediaType")]
|
|
HRESULT MediaType( [out, retval] long * pMediaType );
|
|
|
|
[propget, id(2), helpstring("property EventType")]
|
|
HRESULT EventType( [out, retval] RTC_MEDIA_EVENT_TYPE * penEventType );
|
|
|
|
[propget, id(3), helpstring("property EventReason")]
|
|
HRESULT EventReason( [out, retval] RTC_MEDIA_EVENT_REASON * penEventReason );
|
|
}
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(4c23bf51-390c-4992-a41d-41eec05b2a4b),
|
|
dual,
|
|
helpstring("IRTCIntensityEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCIntensityEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property Level")]
|
|
HRESULT Level( [out, retval] long * plLevel );
|
|
|
|
[propget, id(2), helpstring("property Min")]
|
|
HRESULT Min( [out, retval] long * plMin );
|
|
|
|
[propget, id(3), helpstring("property Max")]
|
|
HRESULT Max( [out, retval] long * plMax );
|
|
|
|
[propget, id(4), helpstring("property Direction")]
|
|
HRESULT Direction( [out, retval] RTC_AUDIO_DEVICE * penDirection );
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(d3609541-1b29-4de5-a4ad-5aebaf319512),
|
|
dual,
|
|
helpstring("IRTCMessagingEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCMessagingEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property Session")]
|
|
HRESULT Session( [out, retval] IRTCSession ** ppSession );
|
|
|
|
[propget, id(2), helpstring("property Participant")]
|
|
HRESULT Participant( [out, retval] IRTCParticipant ** ppParticipant );
|
|
|
|
[propget, id(3), helpstring("property Type")]
|
|
HRESULT EventType( [out, retval] RTC_MESSAGING_EVENT_TYPE * penEventType );
|
|
|
|
[propget, id(4), helpstring("property Message")]
|
|
HRESULT Message( [out, retval] BSTR * pbstrMessage );
|
|
|
|
[propget, id(5), helpstring("property MessageHeader")]
|
|
HRESULT MessageHeader( [out, retval] BSTR * pbstrMessageHeader );
|
|
|
|
[propget, id(6), helpstring("property UserStatus")]
|
|
HRESULT UserStatus( [out, retval] RTC_MESSAGING_USER_STATUS * penUserStatus );
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(f36d755d-17e6-404e-954f-0fc07574c78d),
|
|
dual,
|
|
helpstring("IRTCBuddyEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCBuddyEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property Buddy")]
|
|
HRESULT Buddy( [out, retval] IRTCBuddy ** ppBuddy );
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(484A7F1E-73F0-4990-BFC2-60BC3978A720),
|
|
dual,
|
|
helpstring("IRTCBuddyEvent2"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCBuddyEvent2 : IRTCBuddyEvent
|
|
{
|
|
[propget, id(2), helpstring("property EventType")]
|
|
HRESULT EventType(
|
|
[out, retval] RTC_BUDDY_EVENT_TYPE * pEventType
|
|
);
|
|
|
|
[propget, id(3), helpstring("property StatusCode")]
|
|
HRESULT StatusCode(
|
|
[out, retval] long * plStatusCode
|
|
);
|
|
|
|
[propget, id(4), helpstring("property StatusText")]
|
|
HRESULT StatusText( [out, retval] BSTR * pbstrStatusText );
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(f30d7261-587a-424f-822c-312788f43548),
|
|
dual,
|
|
helpstring("IRTCWatcherEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCWatcherEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property Watcher")]
|
|
HRESULT Watcher( [out, retval] IRTCWatcher ** ppWatcher );
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(E52891E8-188C-49AF-B005-98ED13F83F9C),
|
|
dual,
|
|
helpstring("IRTCBuddyEvent2"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCWatcherEvent2 : IRTCWatcherEvent
|
|
{
|
|
[propget, id(2), helpstring("property EventType")]
|
|
HRESULT EventType(
|
|
[out, retval] RTC_WATCHER_EVENT_TYPE * pEventType
|
|
);
|
|
|
|
[propget, id(3), helpstring("property StatusCode")]
|
|
HRESULT StatusCode(
|
|
[out, retval] long * plStatusCode
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(3A79E1D1-B736-4414-96F8-BBC7F08863E4),
|
|
dual,
|
|
helpstring("IRTCBuddyGroupEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCBuddyGroupEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property EventType")]
|
|
HRESULT EventType(
|
|
[out, retval] RTC_GROUP_EVENT_TYPE * pEventType
|
|
);
|
|
|
|
[propget, id(2), helpstring("property Group")]
|
|
HRESULT Group(
|
|
[out, retval] IRTCBuddyGroup ** ppGroup
|
|
);
|
|
|
|
[propget, id(3), helpstring("property Buddy")]
|
|
HRESULT Buddy(
|
|
[out, retval] IRTCBuddy2 ** ppBuddy
|
|
);
|
|
|
|
[propget, id(4), helpstring("property StatusCode")]
|
|
HRESULT StatusCode(
|
|
[out, retval] long * plStatusCode
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(4E1D68AE-1912-4f49-B2C3-594FADFD425F),
|
|
dual,
|
|
helpstring("IRTCInfoEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCInfoEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property Session")]
|
|
HRESULT Session(
|
|
[out, retval] IRTCSession2 ** ppSession
|
|
);
|
|
|
|
[propget, id(2), helpstring("property Participant")]
|
|
HRESULT Participant(
|
|
[out, retval] IRTCParticipant ** ppParticipant
|
|
);
|
|
|
|
[propget, id(3), helpstring("property Info")]
|
|
HRESULT Info(
|
|
[out, retval] BSTR * pbstrInfo
|
|
);
|
|
|
|
[propget, id(4), helpstring("property InfoHeader")]
|
|
HRESULT InfoHeader(
|
|
[out, retval] BSTR * pbstrInfoHeader
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(52572D15-148C-4d97-A36C-2DA55C289D63),
|
|
dual,
|
|
helpstring("IRTCMediaRequestEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCMediaRequestEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property Session")]
|
|
HRESULT Session(
|
|
[out, retval] IRTCSession2 ** ppSession
|
|
);
|
|
|
|
[propget, id(2), helpstring("property ProposedMedia")]
|
|
HRESULT ProposedMedia(
|
|
[out, retval] long * plMediaTypes
|
|
);
|
|
|
|
[propget, id(3), helpstring("property CurrentMedia")]
|
|
HRESULT CurrentMedia(
|
|
[out, retval] long * plMediaTypes
|
|
);
|
|
|
|
[id(4), helpstring("method Accept")]
|
|
HRESULT Accept(
|
|
[in] long lMediaTypes
|
|
);
|
|
|
|
[propget, id(5), helpstring("property RemotePreferredSecurityLevel")]
|
|
HRESULT RemotePreferredSecurityLevel(
|
|
[in] RTC_SECURITY_TYPE enSecurityType,
|
|
[out, retval] RTC_SECURITY_LEVEL * penSecurityLevel
|
|
);
|
|
|
|
[id(6), helpstring("method Reject")]
|
|
HRESULT Reject();
|
|
|
|
[propget, id(7), helpstring("property State")]
|
|
HRESULT State(
|
|
[out, retval] RTC_REINVITE_STATE *pState
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(11558D84-204C-43e7-99B0-2034E9417F7D),
|
|
dual,
|
|
helpstring("IRTCReInviteEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCReInviteEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property Session")]
|
|
HRESULT Session(
|
|
[out, retval] IRTCSession2 ** ppSession2
|
|
);
|
|
|
|
[id(2), helpstring("method Accept")]
|
|
HRESULT Accept(
|
|
[in] BSTR bstrContentType,
|
|
[in] BSTR bstrSessionDescription
|
|
);
|
|
|
|
[id(3), helpstring("method Reject")]
|
|
HRESULT Reject();
|
|
|
|
[propget, id(4), helpstring("property State")]
|
|
HRESULT State(
|
|
[out, retval] RTC_REINVITE_STATE *pState
|
|
);
|
|
|
|
[id(5), helpstring("method GetRemoteSessionDescription")]
|
|
HRESULT GetRemoteSessionDescription(
|
|
[out] BSTR * pbstrContentType,
|
|
[out] BSTR * pbstrSessionDescription
|
|
);
|
|
}
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(F777F570-A820-49d5-86BD-E099493F1518),
|
|
dual,
|
|
helpstring("IRTCPresencePropertyEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCPresencePropertyEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property StatusCode")]
|
|
HRESULT StatusCode( [out, retval] long * plStatusCode );
|
|
|
|
[propget, id(2), helpstring("property StatusText")]
|
|
HRESULT StatusText( [out, retval] BSTR * pbstrStatusText );
|
|
|
|
[propget, id(3), helpstring("property PresenceProperty")]
|
|
HRESULT PresenceProperty( [out, retval] RTC_PRESENCE_PROPERTY *penPresProp);
|
|
|
|
[propget, id(4), helpstring("property Value")]
|
|
HRESULT Value( [out, retval] BSTR * pbstrValue );
|
|
}
|
|
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(38F0E78C-8B87-4c04-A82D-AEDD83C909BB),
|
|
dual,
|
|
helpstring("IRTCPresenceDataEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCPresenceDataEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property StatusCode")]
|
|
HRESULT StatusCode( [out, retval] long * plStatusCode );
|
|
|
|
[propget, id(2), helpstring("property StatusText")]
|
|
HRESULT StatusText( [out, retval] BSTR * pbstrStatusText );
|
|
|
|
[id(3), helpstring("method GetPresenceData")]
|
|
HRESULT GetPresenceData([out] BSTR *pbstrNamespace, [out] BSTR *pbstrData);
|
|
}
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(78673F32-4A0F-462c-89AA-EE7706707678),
|
|
dual,
|
|
helpstring("IRTCPresenceStatusEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCPresenceStatusEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property StatusCode")]
|
|
HRESULT StatusCode( [out, retval] long * plStatusCode );
|
|
|
|
[propget, id(2), helpstring("property StatusText")]
|
|
HRESULT StatusText( [out, retval] BSTR * pbstrStatusText );
|
|
|
|
[id(3), helpstring("method GetLocalPresenceInfo")]
|
|
HRESULT GetLocalPresenceInfo([out] RTC_PRESENCE_STATUS *penStatus, [out] BSTR *pbstrNotes);
|
|
}
|
|
|
|
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(EC7C8096-B918-4044-94F1-E4FBA0361D5C),
|
|
helpstring("IRTCCollection interface"),
|
|
dual
|
|
]
|
|
interface IRTCCollection : IDispatch
|
|
{
|
|
[propget, helpstring("Returns number of items in collection.")]
|
|
HRESULT Count(
|
|
[out, retval] long * lCount
|
|
);
|
|
|
|
[propget, id(DISPID_VALUE),
|
|
helpstring("Given an index, returns an item in the collection.")]
|
|
HRESULT Item(
|
|
[in] long Index,
|
|
[out, retval] VARIANT * pVariant
|
|
);
|
|
|
|
[propget, restricted, id(DISPID_NEWENUM),
|
|
helpstring("returns an enumerator for the collection.")]
|
|
HRESULT _NewEnum(
|
|
[out, retval] IUnknown ** ppNewEnum
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(fcd56f29-4a4f-41b2-ba5c-f5bccc060bf6),
|
|
hidden,
|
|
helpstring("IRTCEnumParticipants interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCEnumParticipants : IUnknown
|
|
{
|
|
HRESULT Next(
|
|
[in] ULONG celt,
|
|
[out, size_is(celt)] IRTCParticipant ** ppElements,
|
|
[in,out,ptr] ULONG * pceltFetched
|
|
);
|
|
|
|
HRESULT Reset( void );
|
|
|
|
HRESULT Skip (
|
|
[in] ULONG celt
|
|
);
|
|
|
|
HRESULT Clone (
|
|
[out, retval] IRTCEnumParticipants ** ppEnum
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(29b7c41c-ed82-4bca-84ad-39d5101b58e3),
|
|
hidden,
|
|
helpstring("IRTCEnumProfiles interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCEnumProfiles : IUnknown
|
|
{
|
|
HRESULT Next(
|
|
[in] ULONG celt,
|
|
[out, size_is(celt)] IRTCProfile ** ppElements,
|
|
[in,out,ptr] ULONG * pceltFetched
|
|
);
|
|
|
|
HRESULT Reset( void );
|
|
|
|
HRESULT Skip (
|
|
[in] ULONG celt
|
|
);
|
|
|
|
HRESULT Clone (
|
|
[out, retval] IRTCEnumProfiles ** ppEnum
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(f7296917-5569-4b3b-b3af-98d1144b2b87),
|
|
hidden,
|
|
helpstring("IRTCEnumBuddies interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCEnumBuddies : IUnknown
|
|
{
|
|
HRESULT Next(
|
|
[in] ULONG celt,
|
|
[out, size_is(celt)] IRTCBuddy ** ppElements,
|
|
[in,out,ptr] ULONG * pceltFetched
|
|
);
|
|
|
|
HRESULT Reset( void );
|
|
|
|
HRESULT Skip (
|
|
[in] ULONG celt
|
|
);
|
|
|
|
HRESULT Clone (
|
|
[out, retval] IRTCEnumBuddies ** ppEnum
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(a87d55d7-db74-4ed1-9ca4-77a0e41b413e),
|
|
hidden,
|
|
helpstring("IRTCEnumWatchers interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCEnumWatchers : IUnknown
|
|
{
|
|
HRESULT Next(
|
|
[in] ULONG celt,
|
|
[out, size_is(celt)] IRTCWatcher ** ppElements,
|
|
[in,out,ptr] ULONG * pceltFetched
|
|
);
|
|
|
|
HRESULT Reset( void );
|
|
|
|
HRESULT Skip (
|
|
[in] ULONG celt
|
|
);
|
|
|
|
HRESULT Clone (
|
|
[out, retval] IRTCEnumWatchers ** ppEnum
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(742378D6-A141-4415-8F27-35D99076CF5D),
|
|
hidden,
|
|
helpstring("IRTCEnumGroups interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCEnumGroups : IUnknown
|
|
{
|
|
HRESULT Next(
|
|
[in] ULONG celt,
|
|
[out, size_is(celt)] IRTCBuddyGroup ** ppElements,
|
|
[in,out,ptr] ULONG * pceltFetched
|
|
);
|
|
|
|
HRESULT Reset( void );
|
|
|
|
HRESULT Skip (
|
|
[in] ULONG celt
|
|
);
|
|
|
|
HRESULT Clone (
|
|
[out, retval] IRTCEnumGroups ** ppEnum
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(8b22f92c-cd90-42db-a733-212205c3e3df),
|
|
helpstring("IRTCPresenceContact Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCPresenceContact : IUnknown
|
|
{
|
|
[propget, helpstring("property PresentityURI")]
|
|
HRESULT PresentityURI(
|
|
[out, retval] BSTR * pbstrPresentityURI
|
|
);
|
|
|
|
[propput, helpstring("property PresentityURI")]
|
|
HRESULT PresentityURI(
|
|
[in] BSTR bstrPresentityURI
|
|
);
|
|
|
|
[propget, helpstring("property Name")]
|
|
HRESULT Name(
|
|
[out, retval] BSTR * pbstrName
|
|
);
|
|
|
|
[propput, helpstring("property Name")]
|
|
HRESULT Name(
|
|
[in] BSTR bstrName
|
|
);
|
|
|
|
[propget, helpstring("property Data")]
|
|
HRESULT Data(
|
|
[out, retval] BSTR * pbstrData
|
|
);
|
|
|
|
[propput, helpstring("property Data")]
|
|
HRESULT Data(
|
|
[in] BSTR bstrData
|
|
);
|
|
|
|
[propget, helpstring("property Persistent")]
|
|
HRESULT Persistent(
|
|
[out, retval] VARIANT_BOOL *pfPersistent
|
|
);
|
|
|
|
[propput, helpstring("property Persistent")]
|
|
HRESULT Persistent(
|
|
[in] VARIANT_BOOL fPersistent
|
|
);
|
|
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(fcb136c8-7b90-4e0c-befe-56edf0ba6f1c),
|
|
helpstring("IRTCBuddy Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCBuddy : IRTCPresenceContact
|
|
{
|
|
[propget, helpstring("property Status")]
|
|
HRESULT Status(
|
|
[out, retval] RTC_PRESENCE_STATUS * penStatus
|
|
);
|
|
|
|
[propget, helpstring("property Notes")]
|
|
HRESULT Notes(
|
|
[out, retval] BSTR * pbstrNotes
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(102F9588-23E7-40e3-954D-CD7A1D5C0361),
|
|
helpstring("IRTCBuddy2 Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCBuddy2 : IRTCBuddy
|
|
{
|
|
[propget, helpstring("property Profile")]
|
|
HRESULT Profile(
|
|
[out, retval] IRTCProfile2 ** ppProfile
|
|
);
|
|
|
|
[helpstring("method Refresh")]
|
|
HRESULT Refresh();
|
|
|
|
[hidden, helpstring("method EnumerateGroups")]
|
|
HRESULT EnumerateGroups(
|
|
[out, retval] IRTCEnumGroups ** ppEnum
|
|
);
|
|
|
|
[propget, helpstring("property Groups")]
|
|
HRESULT Groups(
|
|
[out, retval] IRTCCollection ** ppCollection
|
|
);
|
|
|
|
[propget, helpstring("property PresenceProperty")]
|
|
HRESULT PresenceProperty([in] RTC_PRESENCE_PROPERTY enProperty, [out,retval] BSTR *pbstrProperty);
|
|
|
|
[helpstring("method EnumeratePresenceDevices ")]
|
|
HRESULT EnumeratePresenceDevices([out, retval] IRTCEnumPresenceDevices ** ppEnumDevices);
|
|
|
|
[propget, helpstring("property PresenceDevices")]
|
|
HRESULT PresenceDevices(
|
|
[out, retval] IRTCCollection ** ppDevicesCollection
|
|
);
|
|
|
|
[propget, helpstring("property SubscriptionType")]
|
|
HRESULT SubscriptionType(
|
|
[out, retval] RTC_BUDDY_SUBSCRIPTION_TYPE * penSubscriptionType
|
|
);
|
|
};
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(c7cedad8-346b-4d1b-ac02-a2088df9be4f),
|
|
helpstring("IRTCWatcher Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCWatcher : IRTCPresenceContact
|
|
{
|
|
[propget, helpstring("property State")]
|
|
HRESULT State(
|
|
[out, retval] RTC_WATCHER_STATE * penState
|
|
);
|
|
|
|
[propput, helpstring("property State")]
|
|
HRESULT State(
|
|
[in] RTC_WATCHER_STATE enState
|
|
);
|
|
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(D4D9967F-D011-4b1d-91E3-ABA78F96393D),
|
|
helpstring("IRTCWatcher2 Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCWatcher2 : IRTCWatcher
|
|
{
|
|
[propget, helpstring("property Profile")]
|
|
HRESULT Profile(
|
|
[out, retval] IRTCProfile2 ** ppProfile
|
|
);
|
|
|
|
[propget, helpstring("property Scope")]
|
|
HRESULT Scope(
|
|
[out, retval] RTC_ACE_SCOPE * penScope
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(60361E68-9164-4389-A4C6-D0B3925BDA5E),
|
|
helpstring("IRTCBuddyGroup Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCBuddyGroup : IUnknown
|
|
{
|
|
[propget, helpstring("property Name")]
|
|
HRESULT Name(
|
|
[out, retval] BSTR * pbstrGroupName
|
|
);
|
|
|
|
[propput, helpstring("property Name")]
|
|
HRESULT Name(
|
|
[in] BSTR bstrGroupName
|
|
);
|
|
|
|
[helpstring("method AddBuddy")]
|
|
HRESULT AddBuddy(
|
|
[in] IRTCBuddy * pBuddy
|
|
);
|
|
|
|
[helpstring("method RemoveBuddy")]
|
|
HRESULT RemoveBuddy(
|
|
[in] IRTCBuddy * pBuddy
|
|
);
|
|
|
|
[hidden, helpstring("method EnumerateBuddies")]
|
|
HRESULT EnumerateBuddies(
|
|
[out, retval] IRTCEnumBuddies ** ppEnum
|
|
);
|
|
|
|
[propget, helpstring("property Buddies")]
|
|
HRESULT Buddies(
|
|
[out, retval] IRTCCollection ** ppCollection
|
|
);
|
|
|
|
[propget, helpstring("property Data")]
|
|
HRESULT Data(
|
|
[out, retval] BSTR * pbstrData
|
|
);
|
|
|
|
[propput, helpstring("property Data")]
|
|
HRESULT Data(
|
|
[in] BSTR bstrData
|
|
);
|
|
|
|
[propget, helpstring("property Profile")]
|
|
HRESULT Profile(
|
|
[out, retval] IRTCProfile2 ** ppProfile
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(13fa24c7-5748-4b21-91f5-7397609ce747),
|
|
helpstring("IRTCEventNotification Interface"),
|
|
oleautomation,
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCEventNotification : IUnknown
|
|
{
|
|
[id(1), helpstring("method Event")]
|
|
HRESULT Event(
|
|
[in] RTC_EVENT RTCEvent,
|
|
[in] IDispatch * pEvent
|
|
);
|
|
}
|
|
|
|
[
|
|
uuid(176ddfbe-fec0-4d55-bc87-84cff1ef7f91),
|
|
helpstring("IRTCDispatchEventNotification Interface")
|
|
]
|
|
dispinterface IRTCDispatchEventNotification
|
|
{
|
|
properties:
|
|
methods:
|
|
|
|
[id(1), helpstring("method Event")]
|
|
HRESULT Event(
|
|
[in] RTC_EVENT RTCEvent,
|
|
[in] IDispatch * pEvent
|
|
);
|
|
};
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(DA77C14B-6208-43ca-8DDF-5B60A0A69FAC),
|
|
helpstring("IRTCPortManager Interface"),
|
|
oleautomation,
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCPortManager : IUnknown
|
|
{
|
|
[id(1), helpstring("method GetMapping")]
|
|
HRESULT GetMapping(
|
|
[in] BSTR bstrRemoteAddress,
|
|
[in] RTC_PORT_TYPE enPortType,
|
|
[in, out] BSTR * pbstrInternalLocalAddress,
|
|
[in, out] long * plInternalLocalPort,
|
|
[in, out] BSTR * pbstrExternalLocalAddress,
|
|
[in, out] long * plExternalLocalPort
|
|
);
|
|
|
|
[id(2), helpstring("method UpdateRemoteAddress")]
|
|
HRESULT UpdateRemoteAddress(
|
|
[in] BSTR bstrRemoteAddress,
|
|
[in] BSTR bstrInternalLocalAddress,
|
|
[in] long lInternalLocalPort,
|
|
[in] BSTR bstrExternalLocalAddress,
|
|
[in] long lExternalLocalPort
|
|
);
|
|
|
|
[id(3), helpstring("method ReleaseMapping")]
|
|
HRESULT ReleaseMapping(
|
|
[in] BSTR bstrInternalLocalAddress,
|
|
[in] long lInternalLocalPort,
|
|
[in] BSTR bstrExternalLocalAddress,
|
|
[in] long lExternalLocalAddress
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(a072f1d6-0286-4e1f-85f2-17a2948456ec),
|
|
helpstring("IRTCSessionPortManagement Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCSessionPortManagement : IUnknown
|
|
{
|
|
HRESULT SetPortManager(
|
|
[in] IRTCPortManager * pPortManager
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(d5df3f03-4bde-4417-aefe-71177bdaea66),
|
|
helpstring("IRTCClientPortManagement Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCClientPortManagement : IUnknown
|
|
{
|
|
|
|
HRESULT StartListenAddressAndPort(
|
|
[in] BSTR bstrInternalLocalAddress,
|
|
[in] long lInternalLocalPort
|
|
);
|
|
|
|
HRESULT StopListenAddressAndPort(
|
|
[in] BSTR bstrInternalLocalAddress,
|
|
[in] long lInternalLocalPort
|
|
);
|
|
|
|
[helpstring("method GetPortRange")]
|
|
HRESULT GetPortRange(
|
|
[in] RTC_PORT_TYPE enPortType,
|
|
[out] long * plMinValue,
|
|
[out] long * plMaxValue
|
|
);
|
|
};
|
|
|
|
///////User search interfaces
|
|
|
|
[
|
|
object,
|
|
uuid(B619882B-860C-4db4-BE1B-693B6505BBE5),
|
|
helpstring("IRTCUserSearch Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCUserSearch : IUnknown
|
|
{
|
|
[helpstring("method CreateQuery")]
|
|
HRESULT CreateQuery(
|
|
[out, retval] IRTCUserSearchQuery ** ppQuery
|
|
);
|
|
|
|
[helpstring("method ExecuteSearch")]
|
|
HRESULT ExecuteSearch(
|
|
[in] IRTCUserSearchQuery * pQuery,
|
|
[in] IRTCProfile * pProfile,
|
|
[in] LONG_PTR lCookie
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(288300F5-D23A-4365-9A73-9985C98C2881),
|
|
helpstring("IRTCUserSearchQuery Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCUserSearchQuery : IUnknown
|
|
{
|
|
[propput, helpstring("property SearchTerm")]
|
|
HRESULT SearchTerm(
|
|
[in] BSTR bstrName,
|
|
[in] BSTR bstrValue
|
|
);
|
|
|
|
[propget, helpstring("property SearchTerm")]
|
|
HRESULT SearchTerm(
|
|
[in] BSTR bstrName,
|
|
[out, retval] BSTR * pbstrValue
|
|
);
|
|
|
|
[propget, helpstring("property SearchTerms")]
|
|
HRESULT SearchTerms(
|
|
[out, retval] BSTR * pbstrNames
|
|
);
|
|
|
|
[propput, helpstring("property SearchPreference")]
|
|
HRESULT SearchPreference(
|
|
[in] RTC_USER_SEARCH_PREFERENCE enPreference,
|
|
[in] long lValue
|
|
);
|
|
|
|
[propget, helpstring("property SearchPreference")]
|
|
HRESULT SearchPreference(
|
|
[in] RTC_USER_SEARCH_PREFERENCE enPreference,
|
|
[out, retval] long * plValue
|
|
);
|
|
|
|
[propput, helpstring("property SearchDomain")]
|
|
HRESULT SearchDomain(
|
|
[in] BSTR bstrDomain
|
|
);
|
|
|
|
[propget, helpstring("property SearchDomain")]
|
|
HRESULT SearchDomain(
|
|
[out, retval] BSTR * pbstrDomain
|
|
);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(851278B2-9592-480f-8DB5-2DE86B26B54D),
|
|
helpstring("IRTCUserSearchResult interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCUserSearchResult : IUnknown
|
|
{
|
|
[propget, id(1), helpstring("property Value")]
|
|
HRESULT Value(
|
|
[in] RTC_USER_SEARCH_COLUMN enColumn,
|
|
[out, retval] BSTR * pbstrValue
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(83D4D877-AA5D-4a5b-8D0E-002A8067E0E8),
|
|
helpstring("IRTCEnumUserSearchResults interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCEnumUserSearchResults : IUnknown
|
|
{
|
|
HRESULT Next(
|
|
[in] ULONG celt,
|
|
[out, size_is(celt)] IRTCUserSearchResult ** ppElements,
|
|
[in,out,ptr] ULONG * pceltFetched
|
|
);
|
|
|
|
HRESULT Reset( void );
|
|
|
|
HRESULT Skip (
|
|
[in] ULONG celt
|
|
);
|
|
|
|
HRESULT Clone (
|
|
[out, retval] IRTCEnumUserSearchResults ** ppEnum
|
|
);
|
|
}
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(D8C8C3CD-7FAC-4088-81C5-C24CBC0938E3),
|
|
dual,
|
|
helpstring("IRTCUserSearchResultsEvent Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCUserSearchResultsEvent : IDispatch
|
|
{
|
|
[hidden, id(1), helpstring("method EnumerateResults")]
|
|
HRESULT EnumerateResults(
|
|
[out, retval] IRTCEnumUserSearchResults** ppEnum
|
|
);
|
|
|
|
[propget, id(2), helpstring("property Results")]
|
|
HRESULT Results(
|
|
[out, retval] IRTCCollection ** ppCollection
|
|
);
|
|
|
|
[propget, id(3), helpstring("property Profile")]
|
|
HRESULT Profile(
|
|
[out, retval] IRTCProfile2 ** ppProfile
|
|
);
|
|
|
|
[propget, id(4), helpstring("property Query")]
|
|
HRESULT Query(
|
|
[out, retval] IRTCUserSearchQuery ** ppQuery
|
|
);
|
|
|
|
[propget, id(5), helpstring("property Cookie")]
|
|
HRESULT Cookie(
|
|
[out, retval] LONG_PTR *plCookie
|
|
);
|
|
|
|
[propget, id(6), helpstring("property StatusCode")]
|
|
HRESULT StatusCode(
|
|
[out, retval] long * plStatusCode
|
|
);
|
|
|
|
[propget, id(7), helpstring("property MoreAvailable")]
|
|
HRESULT MoreAvailable(
|
|
[out, retval] VARIANT_BOOL * pfMoreAvailable
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(3D8FC2CD-5D76-44AB-BB68-2A80353B34A2),
|
|
dual,
|
|
helpstring("IRTCSessionReferStatusEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCSessionReferStatusEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property Session")]
|
|
HRESULT Session( [out, retval] IRTCSession2 ** ppSession );
|
|
|
|
[propget, id(2), helpstring("property ReferStatus")]
|
|
HRESULT ReferStatus( [out, retval] RTC_SESSION_REFER_STATUS * penReferStatus );
|
|
|
|
[propget, id(3), helpstring("property StatusCode")]
|
|
HRESULT StatusCode( [out, retval] long * plStatusCode );
|
|
|
|
[propget, id(4), helpstring("property StatusText")]
|
|
HRESULT StatusText( [out, retval] BSTR * pbstrStatusText );
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(176A6828-4FCC-4F28-A862-04597A6CF1C4),
|
|
dual,
|
|
helpstring("IRTCSessionReferredEvent"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCSessionReferredEvent : IDispatch
|
|
{
|
|
[propget, id(1), helpstring("property Session")]
|
|
HRESULT Session( [out, retval] IRTCSession2 ** ppSession );
|
|
|
|
[propget, id(2), helpstring("property ReferredByURI")]
|
|
HRESULT ReferredByURI( [out, retval] BSTR * pbstrReferredByURI );
|
|
|
|
[propget, id(3), helpstring("property ReferToURI")]
|
|
HRESULT ReferToURI( [out, retval] BSTR * pbstrReferoURI );
|
|
|
|
[propget, id(4), helpstring("property ReferCookie")]
|
|
HRESULT ReferCookie( [out, retval] BSTR * pbstrReferCookie );
|
|
|
|
[id(5), helpstring("method Accept")]
|
|
HRESULT Accept();
|
|
|
|
[id(6), helpstring("method Reject")]
|
|
HRESULT Reject();
|
|
|
|
[id(7), helpstring("method SetReferredSessionState")]
|
|
HRESULT SetReferredSessionState( [in] RTC_SESSION_STATE enState );
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(BA7F518E-D336-4070-93A6-865395C843F9),
|
|
helpstring("IRTCSessionDescriptionManager Interface"),
|
|
oleautomation,
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCSessionDescriptionManager : IUnknown
|
|
{
|
|
[id(1), helpstring("method EvaluateSessionDescription")]
|
|
HRESULT EvaluateSessionDescription(
|
|
[in] BSTR bstrContentType,
|
|
[in] BSTR bstrSessionDescription,
|
|
[in, out] VARIANT_BOOL *pfApplicationSession
|
|
);
|
|
};
|
|
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(708C2AB7-8BF8-42f8-8C7D-635197AD5539),
|
|
hidden,
|
|
helpstring("IRTCEnumPresenceDevices interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCEnumPresenceDevices : IUnknown
|
|
{
|
|
HRESULT Next(
|
|
[in] ULONG celt,
|
|
[out, size_is(celt)] IRTCPresenceDevice ** ppElements,
|
|
[in,out,ptr] ULONG * pceltFetched
|
|
);
|
|
|
|
HRESULT Reset( void );
|
|
|
|
HRESULT Skip (
|
|
[in] ULONG celt
|
|
);
|
|
|
|
HRESULT Clone (
|
|
[out, retval] IRTCEnumPresenceDevices ** ppEnum
|
|
);
|
|
}
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(BC6A90DD-AD9A-48da-9B0C-2515E38521AD),
|
|
helpstring("IRTCPresenceDevice Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRTCPresenceDevice : IUnknown
|
|
{
|
|
[propget, helpstring("property Status")]
|
|
HRESULT Status([out, retval] RTC_PRESENCE_STATUS * penStatus);
|
|
|
|
[propget, helpstring("property Notes")]
|
|
HRESULT Notes([out, retval] BSTR * pbstrNotes);
|
|
|
|
[propget, helpstring("property PresenceProperty")]
|
|
HRESULT PresenceProperty([in] RTC_PRESENCE_PROPERTY enProperty, [out,retval] BSTR *pbstrProperty);
|
|
|
|
[helpstring("method GetPresenceData")]
|
|
HRESULT GetPresenceData([out] BSTR *pbstrNamespace, [out] BSTR *pbstrData);
|
|
};
|
|
|
|
[
|
|
uuid(cd260094-de10-4aee-ac73-ef87f6e12683),
|
|
version(1.2),
|
|
helpstring("RTCCore 1.2 Type Library")
|
|
]
|
|
library RTCCORELib
|
|
{
|
|
importlib("stdole32.tlb");
|
|
|
|
interface IRTCProfile;
|
|
interface IRTCProfile2;
|
|
interface IRTCEnumProfiles;
|
|
interface IRTCSession;
|
|
interface IRTCSession2;
|
|
interface IRTCSessionCallControl;
|
|
interface IRTCParticipant;
|
|
interface IRTCEnumParticipants;
|
|
interface IRTCCollection;
|
|
interface IRTCBuddy;
|
|
interface IRTCBuddy2;
|
|
interface IRTCEnumBuddies;
|
|
interface IRTCWatcher;
|
|
interface IRTCWatcher2;
|
|
interface IRTCEnumWatchers;
|
|
interface IRTCBuddyGroup;
|
|
interface IRTCEnumGroups;
|
|
interface IRTCUserSearchQuery;
|
|
interface IRTCUserSearchResult;
|
|
interface IRTCEnumUserSearchResults;
|
|
interface IRTCEventNotification;
|
|
interface IRTCClientEvent;
|
|
interface IRTCRegistrationStateChangeEvent;
|
|
interface IRTCSessionStateChangeEvent;
|
|
interface IRTCSessionStateChangeEvent2;
|
|
interface IRTCSessionOperationCompleteEvent;
|
|
interface IRTCSessionOperationCompleteEvent2;
|
|
interface IRTCParticipantStateChangeEvent;
|
|
interface IRTCMediaEvent;
|
|
interface IRTCIntensityEvent;
|
|
interface IRTCMessagingEvent;
|
|
interface IRTCBuddyEvent;
|
|
interface IRTCBuddyEvent2;
|
|
interface IRTCWatcherEvent;
|
|
interface IRTCPortManager;
|
|
interface IRTCSessionPortManagement;
|
|
interface IRTCClientPortManagement;
|
|
interface IRTCWatcherEvent2;
|
|
interface IRTCBuddyGroupEvent;
|
|
interface IRTCProfileEvent;
|
|
interface IRTCProfileEvent2;
|
|
interface IRTCUserSearchResultsEvent;
|
|
interface IRTCInfoEvent;
|
|
interface IRTCRoamingEvent;
|
|
interface IRTCMediaRequestEvent;
|
|
interface IRTCReInviteEvent;
|
|
interface IRTCPresencePropertyEvent;
|
|
interface IRTCPresenceDataEvent;
|
|
interface IRTCPresenceStatusEvent;
|
|
interface IRTCSessionReferStatusEvent;
|
|
interface IRTCSessionReferredEvent;
|
|
interface IRTCSessionDescriptionManager;
|
|
interface IRTCEnumPresenceDevices;
|
|
interface IRTCPresenceDevice;
|
|
|
|
dispinterface IRTCDispatchEventNotification;
|
|
|
|
[
|
|
uuid(7a42ea29-a2b7-40c4-b091-f6f024aa89be),
|
|
helpstring("RTCClient Class")
|
|
]
|
|
coclass RTCClient
|
|
{
|
|
[default] interface IRTCClient;
|
|
interface IRTCClient2;
|
|
interface IRTCClientPresence;
|
|
interface IRTCClientPresence2;
|
|
interface IRTCClientProvisioning;
|
|
interface IRTCClientProvisioning2;
|
|
interface IRTCUserSearch;
|
|
[default, source] dispinterface IRTCDispatchEventNotification;
|
|
[defaultvtable, source] interface IRTCEventNotification;
|
|
};
|
|
};
|
|
|