|
|
// // Copyright (c) Microsoft Corporation. All rights reserved.
cpp_quote("/* Copyright (c) Microsoft Corporation. All rights reserved. */")
#ifndef __TAPI3IF_IDL__ #define __TAPI3IF_IDL__
import "oaidl.idl"; import "basetsd.h"; import "strmif.idl";
midl_pragma warning( disable: 2039 )
cpp_quote("#if 0") #ifdef _X86_ typedef long TAPIHWND; #else typedef LONGLONG TAPIHWND; #endif cpp_quote("#endif")
cpp_quote("#ifdef _X86_") cpp_quote("typedef long TAPIHWND;") cpp_quote("#else") cpp_quote("typedef LONGLONG TAPIHWND;") cpp_quote("#endif")
typedef long TAPI_DIGITMODE;
typedef enum TAPI_TONEMODE { TTM_RINGBACK = 0x00000002, TTM_BUSY = 0x00000004, TTM_BEEP = 0x00000008, TTM_BILLING = 0x00000010
} TAPI_TONEMODE;
typedef enum TAPI_GATHERTERM { TGT_BUFFERFULL = 0x00000001, TGT_TERMDIGIT = 0x00000002, TGT_FIRSTTIMEOUT = 0x00000004, TGT_INTERTIMEOUT = 0x00000008, TGT_CANCEL = 0x00000010
} TAPI_GATHERTERM;
typedef struct TAPI_CUSTOMTONE { DWORD dwFrequency; DWORD dwCadenceOn; DWORD dwCadenceOff; DWORD dwVolume;
} TAPI_CUSTOMTONE, *LPTAPI_CUSTOMTONE;
typedef struct TAPI_DETECTTONE { DWORD dwAppSpecific; DWORD dwDuration; DWORD dwFrequency1; DWORD dwFrequency2; DWORD dwFrequency3;
} TAPI_DETECTTONE, *LPTAPI_DETECTTONE;
typedef enum ADDRESS_EVENT { AE_STATE, AE_CAPSCHANGE, AE_RINGING, AE_CONFIGCHANGE, AE_FORWARD, AE_NEWTERMINAL, AE_REMOVETERMINAL, AE_MSGWAITON, AE_MSGWAITOFF, AE_LASTITEM = AE_MSGWAITOFF
} ADDRESS_EVENT;
typedef enum ADDRESS_STATE { AS_INSERVICE, AS_OUTOFSERVICE
} ADDRESS_STATE;
typedef enum CALL_STATE { CS_IDLE, CS_INPROGRESS, CS_CONNECTED, CS_DISCONNECTED, CS_OFFERING, CS_HOLD, CS_QUEUED, CS_LASTITEM = CS_QUEUED
} CALL_STATE;
typedef enum CALL_STATE_EVENT_CAUSE { CEC_NONE, CEC_DISCONNECT_NORMAL, CEC_DISCONNECT_BUSY, CEC_DISCONNECT_BADADDRESS, CEC_DISCONNECT_NOANSWER, CEC_DISCONNECT_CANCELLED, CEC_DISCONNECT_REJECTED, CEC_DISCONNECT_FAILED, CEC_DISCONNECT_BLOCKED
} CALL_STATE_EVENT_CAUSE;
typedef enum CALL_MEDIA_EVENT { CME_NEW_STREAM, CME_STREAM_FAIL, CME_TERMINAL_FAIL, CME_STREAM_NOT_USED, CME_STREAM_ACTIVE, CME_STREAM_INACTIVE, CME_LASTITEM = CME_STREAM_INACTIVE } CALL_MEDIA_EVENT;
typedef enum CALL_MEDIA_EVENT_CAUSE { CMC_UNKNOWN, CMC_BAD_DEVICE, CMC_CONNECT_FAIL, CMC_LOCAL_REQUEST, CMC_REMOTE_REQUEST, CMC_MEDIA_TIMEOUT, CMC_MEDIA_RECOVERED, CMC_QUALITY_OF_SERVICE } CALL_MEDIA_EVENT_CAUSE;
typedef enum DISCONNECT_CODE { DC_NORMAL, DC_NOANSWER, DC_REJECTED
} DISCONNECT_CODE;
typedef enum TERMINAL_STATE { TS_INUSE, TS_NOTINUSE
} TERMINAL_STATE;
typedef enum TERMINAL_DIRECTION { TD_CAPTURE, TD_RENDER, TD_BIDIRECTIONAL, TD_MULTITRACK_MIXED, TD_NONE
} TERMINAL_DIRECTION;
typedef enum TERMINAL_TYPE { TT_STATIC, TT_DYNAMIC
} TERMINAL_TYPE;
typedef enum CALL_PRIVILEGE { CP_OWNER, CP_MONITOR
} CALL_PRIVILEGE;
typedef enum TAPI_EVENT { TE_TAPIOBJECT = 0x00000001, TE_ADDRESS = 0x00000002, TE_CALLNOTIFICATION = 0x00000004, TE_CALLSTATE = 0x00000008, TE_CALLMEDIA = 0x00000010, TE_CALLHUB = 0x00000020, TE_CALLINFOCHANGE = 0x00000040, TE_PRIVATE = 0x00000080, TE_REQUEST = 0x00000100, TE_AGENT = 0x00000200, TE_AGENTSESSION = 0x00000400, TE_QOSEVENT = 0x00000800, TE_AGENTHANDLER = 0x00001000, TE_ACDGROUP = 0x00002000, TE_QUEUE = 0x00004000, TE_DIGITEVENT = 0x00008000, TE_GENERATEEVENT = 0x00010000, TE_ASRTERMINAL = 0x00020000, TE_TTSTERMINAL = 0x00040000, TE_FILETERMINAL = 0x00080000, TE_TONETERMINAL = 0x00100000, TE_PHONEEVENT = 0x00200000, TE_TONEEVENT = 0x00400000, TE_GATHERDIGITS = 0x00800000, TE_ADDRESSDEVSPECIFIC = 0x01000000, TE_PHONEDEVSPECIFIC = 0x02000000 } TAPI_EVENT;
typedef enum CALL_NOTIFICATION_EVENT { CNE_OWNER, CNE_MONITOR, CNE_LASTITEM = CNE_MONITOR
} CALL_NOTIFICATION_EVENT;
typedef enum CALLHUB_EVENT { CHE_CALLJOIN, CHE_CALLLEAVE, CHE_CALLHUBNEW, CHE_CALLHUBIDLE, CHE_LASTITEM = CHE_CALLHUBIDLE } CALLHUB_EVENT;
typedef enum CALLHUB_STATE { CHS_ACTIVE, CHS_IDLE } CALLHUB_STATE;
typedef enum TAPIOBJECT_EVENT { TE_ADDRESSCREATE, TE_ADDRESSREMOVE, TE_REINIT, TE_TRANSLATECHANGE, TE_ADDRESSCLOSE, TE_PHONECREATE, TE_PHONEREMOVE
} TAPIOBJECT_EVENT;
typedef enum TAPI_OBJECT_TYPE { TOT_NONE, TOT_TAPI, TOT_ADDRESS, TOT_TERMINAL, TOT_CALL, TOT_CALLHUB, TOT_PHONE
} TAPI_OBJECT_TYPE;
typedef enum QOS_SERVICE_LEVEL { QSL_NEEDED = 1, QSL_IF_AVAILABLE = 2, QSL_BEST_EFFORT = 3
} QOS_SERVICE_LEVEL;
typedef enum QOS_EVENT { QE_NOQOS = 1, QE_ADMISSIONFAILURE = 2, QE_POLICYFAILURE = 3, QE_GENERICERROR = 4, QE_LASTITEM = QE_GENERICERROR } QOS_EVENT;
typedef enum CALLINFOCHANGE_CAUSE { CIC_OTHER, CIC_DEVSPECIFIC, CIC_BEARERMODE, CIC_RATE, CIC_APPSPECIFIC, CIC_CALLID, CIC_RELATEDCALLID, CIC_ORIGIN, CIC_REASON, CIC_COMPLETIONID, CIC_NUMOWNERINCR, CIC_NUMOWNERDECR, CIC_NUMMONITORS, CIC_TRUNK, CIC_CALLERID, CIC_CALLEDID, CIC_CONNECTEDID, CIC_REDIRECTIONID, CIC_REDIRECTINGID, CIC_USERUSERINFO, CIC_HIGHLEVELCOMP, CIC_LOWLEVELCOMP, CIC_CHARGINGINFO, CIC_TREATMENT, CIC_CALLDATA, CIC_PRIVILEGE, CIC_MEDIATYPE, CIC_LASTITEM = CIC_MEDIATYPE
} CALLINFOCHANGE_CAUSE;
typedef enum CALLINFO_LONG { CIL_MEDIATYPESAVAILABLE, CIL_BEARERMODE, CIL_CALLERIDADDRESSTYPE, CIL_CALLEDIDADDRESSTYPE, CIL_CONNECTEDIDADDRESSTYPE, CIL_REDIRECTIONIDADDRESSTYPE, CIL_REDIRECTINGIDADDRESSTYPE, CIL_ORIGIN, CIL_REASON, CIL_APPSPECIFIC, CIL_CALLPARAMSFLAGS, CIL_CALLTREATMENT, CIL_MINRATE, CIL_MAXRATE, CIL_COUNTRYCODE, CIL_CALLID, CIL_RELATEDCALLID, CIL_COMPLETIONID, CIL_NUMBEROFOWNERS, CIL_NUMBEROFMONITORS, CIL_TRUNK, CIL_RATE, CIL_GENERATEDIGITDURATION, CIL_MONITORDIGITMODES, CIL_MONITORMEDIAMODES
} CALLINFO_LONG;
typedef enum CALLINFO_STRING { CIS_CALLERIDNAME, CIS_CALLERIDNUMBER, CIS_CALLEDIDNAME, CIS_CALLEDIDNUMBER, CIS_CONNECTEDIDNAME, CIS_CONNECTEDIDNUMBER, CIS_REDIRECTIONIDNAME, CIS_REDIRECTIONIDNUMBER, CIS_REDIRECTINGIDNAME, CIS_REDIRECTINGIDNUMBER, CIS_CALLEDPARTYFRIENDLYNAME, CIS_COMMENT, CIS_DISPLAYABLEADDRESS, CIS_CALLINGPARTYID
} CALLINFO_STRING;
typedef enum CALLINFO_BUFFER { CIB_USERUSERINFO, CIB_DEVSPECIFICBUFFER, CIB_CALLDATABUFFER, CIB_CHARGINGINFOBUFFER, CIB_HIGHLEVELCOMPATIBILITYBUFFER, CIB_LOWLEVELCOMPATIBILITYBUFFER
} CALLINFO_BUFFER;
typedef enum ADDRESS_CAPABILITY { AC_ADDRESSTYPES, AC_BEARERMODES, AC_MAXACTIVECALLS, AC_MAXONHOLDCALLS, AC_MAXONHOLDPENDINGCALLS, AC_MAXNUMCONFERENCE, AC_MAXNUMTRANSCONF, AC_MONITORDIGITSUPPORT, AC_GENERATEDIGITSUPPORT, AC_GENERATETONEMODES, AC_GENERATETONEMAXNUMFREQ, AC_MONITORTONEMAXNUMFREQ, AC_MONITORTONEMAXNUMENTRIES, AC_DEVCAPFLAGS, AC_ANSWERMODES, AC_LINEFEATURES, AC_SETTABLEDEVSTATUS, AC_PARKSUPPORT, AC_CALLERIDSUPPORT, AC_CALLEDIDSUPPORT, AC_CONNECTEDIDSUPPORT, AC_REDIRECTIONIDSUPPORT, AC_REDIRECTINGIDSUPPORT, AC_ADDRESSCAPFLAGS, AC_CALLFEATURES1, AC_CALLFEATURES2, AC_REMOVEFROMCONFCAPS, AC_REMOVEFROMCONFSTATE, AC_TRANSFERMODES, AC_ADDRESSFEATURES, AC_PREDICTIVEAUTOTRANSFERSTATES, AC_MAXCALLDATASIZE, AC_LINEID, AC_ADDRESSID, AC_FORWARDMODES, AC_MAXFORWARDENTRIES, AC_MAXSPECIFICENTRIES, AC_MINFWDNUMRINGS, AC_MAXFWDNUMRINGS, AC_MAXCALLCOMPLETIONS, AC_CALLCOMPLETIONCONDITIONS, AC_CALLCOMPLETIONMODES, AC_PERMANENTDEVICEID, AC_GATHERDIGITSMINTIMEOUT, AC_GATHERDIGITSMAXTIMEOUT, AC_GENERATEDIGITMINDURATION, AC_GENERATEDIGITMAXDURATION, AC_GENERATEDIGITDEFAULTDURATION
} ADDRESS_CAPABILITY;
typedef enum ADDRESS_CAPABILITY_STRING { ACS_PROTOCOL, ACS_ADDRESSDEVICESPECIFIC, ACS_LINEDEVICESPECIFIC, ACS_PROVIDERSPECIFIC, ACS_SWITCHSPECIFIC, ACS_PERMANENTDEVICEGUID } ADDRESS_CAPABILITY_STRING;
typedef enum FULLDUPLEX_SUPPORT { FDS_SUPPORTED, FDS_NOTSUPPORTED, FDS_UNKNOWN
} FULLDUPLEX_SUPPORT;
typedef enum FINISH_MODE { FM_ASTRANSFER, FM_ASCONFERENCE
} FINISH_MODE;
typedef enum PHONE_PRIVILEGE { PP_OWNER, PP_MONITOR
} PHONE_PRIVILEGE;
// // the hookswitch types //
typedef enum PHONE_HOOK_SWITCH_DEVICE { PHSD_HANDSET = 0x00000001, PHSD_SPEAKERPHONE = 0x00000002, PHSD_HEADSET = 0x00000004 } PHONE_HOOK_SWITCH_DEVICE;
// // hookswitch mode //
typedef enum PHONE_HOOK_SWITCH_STATE { PHSS_ONHOOK = 0x00000001, PHSS_OFFHOOK_MIC_ONLY = 0x00000002, PHSS_OFFHOOK_SPEAKER_ONLY = 0x00000004, PHSS_OFFHOOK = 0x00000008 } PHONE_HOOK_SWITCH_STATE;
// // lamp mode // how the lamp is flashing. // as defined in TAPI 2.x //
typedef enum PHONE_LAMP_MODE { LM_DUMMY = 0x00000001, LM_OFF = 0x00000002, LM_STEADY = 0x00000004, LM_WINK = 0x00000008, LM_FLASH = 0x00000010, LM_FLUTTER = 0x00000020, LM_BROKENFLUTTER = 0x00000040, LM_UNKNOWN = 0x00000080
} PHONE_LAMP_MODE;
// // capabilities of the phone //
typedef enum PHONECAPS_LONG { PCL_HOOKSWITCHES, PCL_HANDSETHOOKSWITCHMODES, PCL_HEADSETHOOKSWITCHMODES, PCL_SPEAKERPHONEHOOKSWITCHMODES, PCL_DISPLAYNUMROWS, PCL_DISPLAYNUMCOLUMNS, PCL_NUMRINGMODES, PCL_NUMBUTTONLAMPS, PCL_GENERICPHONE } PHONECAPS_LONG;
// // capabilities of the phone (strings) //
typedef enum PHONECAPS_STRING { PCS_PHONENAME, PCS_PHONEINFO, PCS_PROVIDERINFO
} PHONECAPS_STRING;
// // capabilities of the phone (buffers) //
typedef enum PHONECAPS_BUFFER { PCB_DEVSPECIFICBUFFER
} PHONECAPS_BUFFER;
// // state of the button // do we need to reflect the one shot vs. state? //
typedef enum PHONE_BUTTON_STATE { PBS_UP = 0x00000001, PBS_DOWN = 0x00000002, PBS_UNKNOWN = 0x00000004, PBS_UNAVAIL = 0x00000008 } PHONE_BUTTON_STATE;
// // what the button is used for //
typedef enum PHONE_BUTTON_MODE { PBM_DUMMY, PBM_CALL, PBM_FEATURE, PBM_KEYPAD, PBM_LOCAL, PBM_DISPLAY } PHONE_BUTTON_MODE;
// // the function of the button - when the button is pressed, // what is expected to happen. //
typedef enum PHONE_BUTTON_FUNCTION { PBF_UNKNOWN, PBF_CONFERENCE, PBF_TRANSFER, PBF_DROP, PBF_HOLD, PBF_RECALL, PBF_DISCONNECT, PBF_CONNECT, PBF_MSGWAITON, PBF_MSGWAITOFF, PBF_SELECTRING, PBF_ABBREVDIAL, PBF_FORWARD, PBF_PICKUP, PBF_RINGAGAIN, PBF_PARK, PBF_REJECT, PBF_REDIRECT, PBF_MUTE, PBF_VOLUMEUP, PBF_VOLUMEDOWN, PBF_SPEAKERON, PBF_SPEAKEROFF, PBF_FLASH, PBF_DATAON, PBF_DATAOFF, PBF_DONOTDISTURB, PBF_INTERCOM, PBF_BRIDGEDAPP, PBF_BUSY, PBF_CALLAPP, PBF_DATETIME, PBF_DIRECTORY, PBF_COVER, PBF_CALLID, PBF_LASTNUM, PBF_NIGHTSRV, PBF_SENDCALLS, PBF_MSGINDICATOR, PBF_REPDIAL, PBF_SETREPDIAL, PBF_SYSTEMSPEED, PBF_STATIONSPEED, PBF_CAMPON, PBF_SAVEREPEAT, PBF_QUEUECALL, PBF_NONE, PBF_SEND
} PHONE_BUTTON_FUNCTION;
// // Used by ITAutomatedPhoneControl //
typedef enum PHONE_TONE { PT_KEYPADZERO, PT_KEYPADONE, PT_KEYPADTWO, PT_KEYPADTHREE, PT_KEYPADFOUR, PT_KEYPADFIVE, PT_KEYPADSIX, PT_KEYPADSEVEN, PT_KEYPADEIGHT, PT_KEYPADNINE, PT_KEYPADSTAR, PT_KEYPADPOUND, PT_KEYPADA, PT_KEYPADB, PT_KEYPADC, PT_KEYPADD, PT_NORMALDIALTONE, PT_EXTERNALDIALTONE, PT_BUSY, PT_RINGBACK, PT_ERRORTONE, PT_SILENCE
} PHONE_TONE;
// // events related to phones //
typedef enum PHONE_EVENT { PE_DISPLAY, PE_LAMPMODE, PE_RINGMODE, PE_RINGVOLUME, PE_HOOKSWITCH, PE_CAPSCHANGE, PE_BUTTON, PE_CLOSE, PE_NUMBERGATHERED, PE_DIALING, PE_ANSWER, PE_DISCONNECT, PE_LASTITEM = PE_DISCONNECT } PHONE_EVENT;
// Dispach ID mapping constants const DISPID INTERFACEMASK = 0x00FF0000; const DISPID DISPIDMASK = 0x0000FFFF; // Tapi Object Interfaces const DISPID IDISPTAPI = 0x00010000; const DISPID IDISPTAPICALLCENTER = 0x00020000;
// Call Object Interfaces const DISPID IDISPCALLINFO = 0x00010000; const DISPID IDISPBASICCALLCONTROL = 0x00020000; const DISPID IDISPLEGACYCALLMEDIACONTROL = 0x00030000; const DISPID IDISPAGGREGATEDMSPCALLOBJ = 0x00040000;
// Address Object Interfaces const DISPID IDISPADDRESS = 0x00010000; const DISPID IDISPADDRESSCAPABILITIES = 0x00020000; const DISPID IDISPMEDIASUPPORT = 0x00030000; const DISPID IDISPADDRESSTRANSLATION = 0x00040000; const DISPID IDISPLEGACYADDRESSMEDIACONTROL = 0x00050000; const DISPID IDISPAGGREGATEDMSPADDRESSOBJ = 0x00060000;
// Phone Object Interfaces const DISPID IDISPPHONE = 0x00010000; const DISPID IDISPAPC = 0x00020000;
// file terminal object interfaces const DISPID IDISPMULTITRACK = 0x00010000; const DISPID IDISPMEDIACONTROL = 0x00020000; const DISPID IDISPMEDIARECORD = 0x00030000; const DISPID IDISPMEDIAPLAYBACK = 0x00040000;
// file terminal track interfaces const DISPID IDISPFILETRACK = 0x00010000;
// forward definitions interface IEnumAddress; interface IEnumPhone; interface IEnumCall; interface IEnumTerminalClass; interface IEnumTerminal; interface IEnumLocation; interface IEnumCallingCard; interface IEnumBstr; interface ITCollection; interface ITCollection2; interface ITTerminal; interface ITAMTerminal; interface ITTAPI; interface ITTAPI2; interface ITMediaSupport; interface ITTerminalSupport; interface ITTerminalSupport2; interface ITCallInfo; interface ITCallInfo2; interface ITCallHub; interface ITBasicCallControl; interface IEnumCallHub; interface ITForwardInformation; interface ITAddressTranslation; interface ITAddressTranslationInfo; interface ITLocationInfo; interface ITCallingCard; interface ITAddress; interface ITAddress2; interface ITPhone; interface ITStaticAudioTerminal; interface ITStream; interface ITStreamControl; interface ITStream; interface ITSubStreamControl; interface ITSubStream; interface IEnumStream; interface IEnumSubStream; interface ITTone; interface ITToneGeneration; interface ITToneDetection; interface ITScriptableAudioFormat; interface ITPluggableTerminalSuperclassInfo; interface ITPluggableTerminalClassInfo; interface IEnumPluggableTerminalClassInfo; interface IEnumPluggableSuperclassInfo; interface ITDetectTone; interface ITCustomTone;
[ uuid( B1EFC382-9355-11d0-835C-00AA003CCABD ), helpstring("TAPI 3.0 ITTAPI interface"), pointer_default(unique), dual ]
interface ITTAPI : IDispatch { [id(IDISPTAPI | 13), helpstring("Initialize")] HRESULT Initialize();
[id(IDISPTAPI | 14), helpstring("Shutdown")] HRESULT Shutdown();
[propget, id(IDISPTAPI | 1), helpstring("property Addresses")] HRESULT Addresses( [out, retval] VARIANT * pVariant );
[id(IDISPTAPI | 2), hidden, helpstring("method EnumerateAddresses")] HRESULT EnumerateAddresses( [out, retval] IEnumAddress ** ppEnumAddress );
[id(IDISPTAPI | 3), helpstring("method RegisterCallNotifications")] HRESULT RegisterCallNotifications( [in]ITAddress * pAddress, [in]VARIANT_BOOL fMonitor, [in]VARIANT_BOOL fOwner, [in]long lMediaTypes, [in]long lCallbackInstance, [out,retval]long * plRegister );
[id(IDISPTAPI | 4), helpstring("method UnregisterNotifications")] HRESULT UnregisterNotifications( [in] long lRegister ); [propget, id(IDISPTAPI | 5), helpstring("property CallHubs")] HRESULT CallHubs( [out, retval] VARIANT * pVariant );
[id(IDISPTAPI | 6), hidden, helpstring("method EnumerateCallHubs")] HRESULT EnumerateCallHubs( [out, retval] IEnumCallHub ** ppEnumCallHub );
[id(IDISPTAPI | 7), helpstring("method SetCallHubTracking")] HRESULT SetCallHubTracking( [in] VARIANT pAddresses, [in] VARIANT_BOOL bTracking );
[id(IDISPTAPI | 8), hidden] HRESULT EnumeratePrivateTAPIObjects( [out] IEnumUnknown ** ppEnumUnknown );
[propget, id(IDISPTAPI | 9), helpstring("property PrivateTAPIObjects")] HRESULT PrivateTAPIObjects( [out, retval] VARIANT * pVariant );
[id(IDISPTAPI | 10), helpstring("method RegisterRequestRecipient")] HRESULT RegisterRequestRecipient( [in] long lRegistrationInstance, [in] long lRequestMode, [in] VARIANT_BOOL fEnable );
[id(IDISPTAPI | 11), helpstring("method SetAssistedTelephonyPriority")] HRESULT SetAssistedTelephonyPriority( [in] BSTR pAppFilename, [in] VARIANT_BOOL fPriority );
[id(IDISPTAPI | 12), helpstring("method SetApplicationPriority")] HRESULT SetApplicationPriority( [in] BSTR pAppFilename, [in] long lMediaType, [in] VARIANT_BOOL fPriority );
[propput, id(IDISPTAPI | 15), helpstring("property EventFilter")] HRESULT EventFilter( [in] long lFilterMask ); [propget, id(IDISPTAPI | 15), helpstring("property EventFilter")] HRESULT EventFilter( [out, retval] long * plFilterMask );
}
[ uuid( 54FBDC8C-D90F-4dad-9695-B373097F094B ), helpstring("TAPI 3.1 ITTAPI2 interface"), dual ] interface ITTAPI2 : ITTAPI { // // get the phones that can be used on this address // returns a collection/enumeration for scripting and c/c++ // [propget, id(IDISPTAPI | 16), helpstring("property Phones")] HRESULT Phones( [out, retval] VARIANT * pPhones );
[id(IDISPTAPI | 17), hidden, helpstring("method EnumeratePhones")] HRESULT EnumeratePhones( [out, retval] IEnumPhone ** ppEnumPhone );
[id(IDISPTAPI | 18), helpstring("method CreateEmptyCollectionObject")] HRESULT CreateEmptyCollectionObject( [out, retval] ITCollection2 ** ppCollection ); }
[ uuid( B1EFC384-9355-11d0-835C-00AA003CCABD ), helpstring("TAPI 3.0 ITMediaSupport interface"), dual ]
interface ITMediaSupport : IDispatch { [propget, id(IDISPMEDIASUPPORT | 1), helpstring("property MediaTypes")] HRESULT MediaTypes( [out, retval] long * plMediaTypes );
[id(IDISPMEDIASUPPORT | 2), helpstring("method QueryMediaType")] HRESULT QueryMediaType( [in] long lMediaType, [out, retval] VARIANT_BOOL * pfSupport ); }
[ uuid( 41757F4A-CF09-4b34-BC96-0A79D2390076 ), helpstring("TAPI 3.1 ITPluggableTerminalClassInfo interface"), dual ]
interface ITPluggableTerminalClassInfo : IDispatch { // // Terminal Friendly Name // [id(1), propget, helpstring("method get_Name")] HRESULT Name( [out, retval] BSTR* pName );
// // Company name // [id(2), propget, helpstring("method get_Company")] HRESULT Company( [out, retval] BSTR* pCompany );
// // Terminal Version // [id(3), propget, helpstring("method get_Version")] HRESULT Version( [out, retval] BSTR* pVersion );
// // TerminalClass // [id(4), propget, helpstring("method get_TerminalClass")] HRESULT TerminalClass( [out, retval] BSTR* pTerminalClass );
// // This CLSID is used to CoCreate the terminal // [id(5), propget, helpstring("method get_CLSID")] HRESULT CLSID( [out, retval] BSTR* pCLSID );
// // Direction supported by terminal // [id(6), propget, helpstring("method get_Direction")] HRESULT Direction( [out, retval] TERMINAL_DIRECTION* pDirection );
// // Media Types supported by terminal // [id(7), propget, helpstring("method get_MediaTypes")] HRESULT MediaTypes( [out, retval] long* pMediaTypes );
}
[ uuid( 6D54E42C-4625-4359-A6F7-631999107E05 ), helpstring("TAPI 3.1 ITPluggableTerminalSuperclassInfo interface"), dual ]
interface ITPluggableTerminalSuperclassInfo : IDispatch { [id(1), propget, helpstring("method get_Name")] HRESULT Name( [out, retval] BSTR* pName );
[id(2), propget, helpstring("method get_CLSID")] HRESULT CLSID( [out, retval] BSTR* pCLSID ); }
[ uuid( B1EFC385-9355-11d0-835C-00AA003CCABD ), helpstring("TAPI 3.0 ITTerminalSupport interface"), dual ]
interface ITTerminalSupport : IDispatch { [propget, id(IDISPAGGREGATEDMSPADDRESSOBJ | 1), helpstring("property StaticTerminals")] HRESULT StaticTerminals( [out, retval] VARIANT * pVariant );
[id(IDISPAGGREGATEDMSPADDRESSOBJ | 2), hidden, helpstring("method EnumerateStaticTerminals")] HRESULT EnumerateStaticTerminals( [out, retval] IEnumTerminal ** ppTerminalEnumerator );
[propget, id(IDISPAGGREGATEDMSPADDRESSOBJ | 3), helpstring("property DynamicTerminalClasses")] HRESULT DynamicTerminalClasses( [out, retval] VARIANT * pVariant );
[id(IDISPAGGREGATEDMSPADDRESSOBJ | 4), hidden, helpstring("method EnumerateDynamicTerminalClasses")] HRESULT EnumerateDynamicTerminalClasses( [out, retval] IEnumTerminalClass ** ppTerminalClassEnumerator );
[id(IDISPAGGREGATEDMSPADDRESSOBJ | 5), helpstring("method CreateTerminal")] HRESULT CreateTerminal( [in] BSTR pTerminalClass, [in] long lMediaType, [in] TERMINAL_DIRECTION Direction, [out, retval] ITTerminal ** ppTerminal );
[id(IDISPAGGREGATEDMSPADDRESSOBJ | 6), helpstring("method GetDefaultStaticTerminal")] HRESULT GetDefaultStaticTerminal( [in] long lMediaType, [in] TERMINAL_DIRECTION Direction, [out, retval] ITTerminal ** ppTerminal ); }
[ uuid( F3EB39BC-1B1F-4e99-A0C0-56305C4DD591 ), helpstring("TAPI 3.1 ITTerminalSupport2 interface"), dual ]
interface ITTerminalSupport2 : ITTerminalSupport { [propget, id(IDISPAGGREGATEDMSPADDRESSOBJ | 7), helpstring("property PluggableSuperclasses")] HRESULT PluggableSuperclasses( [out, retval] VARIANT * pVariant );
[id(IDISPAGGREGATEDMSPADDRESSOBJ | 8), hidden, helpstring("method EnumeratePluggableSuperclasses")] HRESULT EnumeratePluggableSuperclasses( [out, retval] IEnumPluggableSuperclassInfo ** ppSuperclassEnumerator );
[propget, id(IDISPAGGREGATEDMSPADDRESSOBJ | 9), helpstring("property PluggableTerminalClasses")] HRESULT PluggableTerminalClasses( [in] BSTR bstrTerminalSuperclass, [in] long lMediaType, [out, retval] VARIANT * pVariant );
[id(IDISPAGGREGATEDMSPADDRESSOBJ | 10), hidden, helpstring("method EnumeratePluggableTerminalClasses")] HRESULT EnumeratePluggableTerminalClasses( [in] CLSID iidTerminalSuperclass, [in] long lMediaType, [out, retval] IEnumPluggableTerminalClassInfo ** ppClassEnumerator ); }
[ uuid( B1EFC386-9355-11d0-835C-00AA003CCABD ), helpstring("TAPI 3.0 ITAddress interface"), dual ]
interface ITAddress : IDispatch { [propget, id(IDISPADDRESS | 1), helpstring("property State")] HRESULT State( [out, retval] ADDRESS_STATE * pAddressState );
[propget, id(IDISPADDRESS | 2), helpstring("property AddressName")] HRESULT AddressName( [out, retval] BSTR * ppName ); [propget, id(IDISPADDRESS | 3), helpstring("property ServiceProviderName")] HRESULT ServiceProviderName( [out, retval] BSTR * ppName );
[propget, id(IDISPADDRESS | 4), helpstring("property TAPIObject")] HRESULT TAPIObject( [out, retval] ITTAPI ** ppTapiObject );
[id(IDISPADDRESS | 5), helpstring("method CreateCall")] HRESULT CreateCall( [in] BSTR pDestAddress, [in] long lAddressType, [in] long lMediaTypes, [out, retval] ITBasicCallControl ** ppCall );
[propget, id(IDISPADDRESS | 6), helpstring("property Calls")] HRESULT Calls( [out, retval] VARIANT * pVariant );
[id(IDISPADDRESS | 7), hidden, helpstring("method EnumerateCalls")] HRESULT EnumerateCalls( [out, retval] IEnumCall ** ppCallEnum );
[propget, id(IDISPADDRESS | 8), helpstring("property DialableAddress")] HRESULT DialableAddress( [out,retval] BSTR * pDialableAddress );
[id(IDISPADDRESS | 10), helpstring("method CreateForwardInfoObject")] HRESULT CreateForwardInfoObject( [out, retval] ITForwardInformation ** ppForwardInfo );
[id(IDISPADDRESS | 11), helpstring("method Forward")] HRESULT Forward( [in] ITForwardInformation * pForwardInfo, [in] ITBasicCallControl * pCall );
[propget, id(IDISPADDRESS | 12), helpstring("method Forward")] HRESULT CurrentForwardInfo( [out, retval] ITForwardInformation ** ppForwardInfo );
[propput, id(IDISPADDRESS | 14), helpstring("property MessageWaiting")] HRESULT MessageWaiting( [in] VARIANT_BOOL fMessageWaiting );
[propget, id(IDISPADDRESS | 14), helpstring("property MessageWaiting")] HRESULT MessageWaiting( [out, retval] VARIANT_BOOL * pfMessageWaiting );
[propput, id(IDISPADDRESS | 15), helpstring("property DoNotDisturb")] HRESULT DoNotDisturb( [in] VARIANT_BOOL fDoNotDisturb );
[propget, id(IDISPADDRESS | 15), helpstring("property DoNotDisturb")] HRESULT DoNotDisturb( [out, retval] VARIANT_BOOL * pfDoNotDisturb );
}
/////////////////////////////////////////////////////// // ITAddress2 ///////////////////////////////////////////////////////
[ uuid( B0AE5D9B-BE51-46c9-B0F7-DFA8A22A8BC4 ), helpstring("TAPI 3.1 ITAddress2 interface"), dual ] interface ITAddress2 : ITAddress { // // get the phones that can be used on this address // returns a collection/enumeration for scripting and c/c++ // [propget, id(IDISPADDRESS | 16), helpstring("property Phones")] HRESULT Phones( [out, retval] VARIANT * pPhones );
[id(IDISPADDRESS | 17), hidden, helpstring("method EnumeratePhones")] HRESULT EnumeratePhones( [out, retval] IEnumPhone ** ppEnumPhone );
[id(IDISPADDRESS | 18), helpstring("method GetPhoneFromTerminal")] HRESULT GetPhoneFromTerminal( [in] ITTerminal * pTerminal, [out, retval] ITPhone ** ppPhone );
[propget, id(IDISPADDRESS | 20), helpstring("property PreferredPhones")] HRESULT PreferredPhones( [out, retval] VARIANT * pPhones );
[id(IDISPADDRESS | 21), hidden, helpstring("method EnumeratePreferredPhones")] HRESULT EnumeratePreferredPhones( [out, retval] IEnumPhone ** ppEnumPhone );
// // Filtering events //
[propget, id(IDISPADDRESS | 19), helpstring("method EventFilter")] HRESULT EventFilter( [in] TAPI_EVENT TapiEvent, [in] long lSubEvent, [out,retval] VARIANT_BOOL* pEnable );
[propput, id(IDISPADDRESS | 19), helpstring("method EventFilter")] HRESULT EventFilter( [in] TAPI_EVENT TapiEvent, [in] long lSubEvent, [in] VARIANT_BOOL bEnable );
// // device specific methods //
[id(IDISPADDRESS | 22), hidden, helpstring("method DeviceSpecific")] HRESULT DeviceSpecific( [in] ITCallInfo *pCall, [in] BYTE *pParams, [in] DWORD dwSize );
[id(IDISPADDRESS | 23), helpstring("method DeviceSpecificVariant")] HRESULT DeviceSpecificVariant( [in] ITCallInfo *pCall, [in] VARIANT varDevSpecificByteArray );
[id(IDISPADDRESS | 24), helpstring("method NegotiateExtVersion")] HRESULT NegotiateExtVersion ( [in] long lLowVersion, [in] long lHighVersion, [out, retval] long *plExtVersion );
}
[ uuid( 8DF232F5-821B-11d1-BB5C-00C04FB6809F ), helpstring("TAPI 3.0 ITAddressCapabilities interface"), dual ] interface ITAddressCapabilities : IDispatch { [propget, id(IDISPADDRESSCAPABILITIES | 1), helpstring("property AddressCapability")] HRESULT AddressCapability( [in] ADDRESS_CAPABILITY AddressCap, [out, retval] long * plCapability );
[propget, id(IDISPADDRESSCAPABILITIES | 2), helpstring("property AddressCapabilityString")] HRESULT AddressCapabilityString( [in] ADDRESS_CAPABILITY_STRING AddressCapString, [out, retval] BSTR * ppCapabilityString );
[propget, id(IDISPADDRESSCAPABILITIES | 3), helpstring("property CallTreatments")] HRESULT CallTreatments( [out, retval] VARIANT * pVariant );
[id(IDISPADDRESSCAPABILITIES | 4), hidden] HRESULT EnumerateCallTreatments( [out, retval] IEnumBstr ** ppEnumCallTreatment );
[propget, id(IDISPADDRESSCAPABILITIES | 5), helpstring("property CompletionMessages")] HRESULT CompletionMessages( [out, retval] VARIANT * pVariant );
[id(IDISPADDRESSCAPABILITIES | 6), hidden] HRESULT EnumerateCompletionMessages( [out, retval] IEnumBstr ** ppEnumCompletionMessage );
[propget, id(IDISPADDRESSCAPABILITIES | 7), helpstring("property DeviceClasses")] HRESULT DeviceClasses( [out, retval] VARIANT * pVariant );
[id(IDISPADDRESSCAPABILITIES | 8), hidden] HRESULT EnumerateDeviceClasses( [out, retval] IEnumBstr ** ppEnumDeviceClass ); }
/////////////////////////////////////////////////////// // ITPhone ///////////////////////////////////////////////////////
[ uuid( 09D48DB4-10CC-4388-9DE7-A8465618975A ), helpstring("TAPI 3.1 ITPhone interface"), dual ] interface ITPhone : IDispatch { // // opens the phone devices // [id(IDISPPHONE | 1), helpstring("method Open")] HRESULT Open( [in] PHONE_PRIVILEGE Privilege );
// // closes the phone // [id(IDISPPHONE | 2), helpstring("method Close")] HRESULT Close();
// // returns a collection/enumeration of addresses that the phone // can be used on // [propget, id(IDISPPHONE | 3), helpstring("property Addresses")] HRESULT Addresses( [out, retval] VARIANT * pAddresses );
[id(IDISPPHONE | 4), hidden, helpstring("method EnumerateAddresses")] HRESULT EnumerateAddresses( [out, retval] IEnumAddress ** ppEnumAddress );
// // gets a DWORD (long) capability of the phone, based on the PHONECAPS_LONG // passed in. // [propget, id(IDISPPHONE | 5), helpstring("property PhoneCapsLong")] HRESULT PhoneCapsLong( [in] PHONECAPS_LONG pclCap, [out, retval] long * plCapability );
// // gets a string capability/information about the phone, based on the PHONECAPS_STRING // passed in. // [propget, id(IDISPPHONE | 6), helpstring("property PhoneCapsString")] HRESULT PhoneCapsString( [in] PHONECAPS_STRING pcsCap, [out, retval] BSTR * ppCapability );
// // gets a collection/enumerations of terminals that are the terminals that // are associated with the phone. // [propget, id(IDISPPHONE | 7), helpstring("property Terminals")] HRESULT Terminals( [in] ITAddress * pAddress, [out, retval] VARIANT * pTerminals );
[id(IDISPPHONE | 8), hidden, helpstring("method EnumerateTerminals")] HRESULT EnumerateTerminals( [in] ITAddress * pAddress, [out, retval] IEnumTerminal ** ppEnumTerminal );
// // get the button mode // [propget, id(IDISPPHONE | 9), helpstring("property ButtonMode")] HRESULT ButtonMode( [in] long lButtonID, [out, retval] PHONE_BUTTON_MODE * pButtonMode );
// // put the button mode // [propput, id(IDISPPHONE | 9), helpstring("property ButtonMode")] HRESULT ButtonMode( [in] long lButtonID, [in] PHONE_BUTTON_MODE ButtonMode );
// // get the button function // [propget, id(IDISPPHONE | 10), helpstring("property ButtonFunction")] HRESULT ButtonFunction( [in] long lButtonID, [out, retval] PHONE_BUTTON_FUNCTION * pButtonFunction );
// // put the button function // [propput, id(IDISPPHONE | 10), helpstring("property ButtonFunction")] HRESULT ButtonFunction( [in] long lButtonID, [in] PHONE_BUTTON_FUNCTION ButtonFunction );
// // get the button text // [propget, id(IDISPPHONE | 11), helpstring("property ButtonText")] HRESULT ButtonText( [in] long lButtonID, [out, retval] BSTR * ppButtonText );
// // set the button text // [propput, id(IDISPPHONE | 11), helpstring("property ButtonText")] HRESULT ButtonText( [in] long lButtonID, [in] BSTR bstrButtonText );
// // get the button state // [propget, id(IDISPPHONE | 12), helpstring("property ButtonState")] HRESULT ButtonState( [in] long lButtonID, [out, retval] PHONE_BUTTON_STATE * pButtonState );
// // set the current hookswitch state // [propget, id(IDISPPHONE | 13), helpstring("property HookSwitchState")] HRESULT HookSwitchState( [in] PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice, [out, retval] PHONE_HOOK_SWITCH_STATE * pHookSwitchState );
// // set the current hookswitch state // [propput, id(IDISPPHONE | 13), helpstring("property HookSwitchState")] HRESULT HookSwitchState( [in] PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice, [in] PHONE_HOOK_SWITCH_STATE HookSwitchState );
// // set the ring mode for the phone // [propput, id(IDISPPHONE | 14), helpstring("property RingMode")] HRESULT RingMode( [in] long lRingMode ); // // get the ring mode for the phone // [propget, id(IDISPPHONE | 14), helpstring("property RingMode")] HRESULT RingMode( [out, retval] long * plRingMode );
// // set the ring volume for the phone // [propput, id(IDISPPHONE | 15), helpstring("property RingVolume")] HRESULT RingVolume( [in] long lRingVolume ); // // get the ring volume for the phone // [propget, id(IDISPPHONE | 15), helpstring("property RingVolume")] HRESULT RingVolume( [out, retval] long * plRingVolume );
// // get the privilege for the phone // [propget, id(IDISPPHONE | 16), helpstring("property Privilege")] HRESULT Privilege( [out, retval] PHONE_PRIVILEGE * pPrivilege );
[id(IDISPPHONE | 17), hidden, helpstring("method GetPhoneDevCapsBuffer")] HRESULT GetPhoneCapsBuffer( [in] PHONECAPS_BUFFER pcbCaps, [out] DWORD *pdwSize, [out] BYTE **ppPhoneCapsBuffer );
[propget, id(IDISPPHONE | 18), helpstring("property PhoneCapsBuffer")] HRESULT PhoneCapsBuffer( [in] PHONECAPS_BUFFER pcbCaps, [out, retval] VARIANT *pVarBuffer );
[propget, id(IDISPPHONE | 19), helpstring("property LampMode")] HRESULT LampMode( [in] long lLampID, [out, retval] PHONE_LAMP_MODE * pLampMode );
[propput, id(IDISPPHONE | 19), helpstring("property LampMode")] HRESULT LampMode( [in] long lLampID, [in] PHONE_LAMP_MODE LampMode );
[propget, id(IDISPPHONE | 20), helpstring("property Display")] HRESULT Display( [out, retval] BSTR *pbstrDisplay );
[id(IDISPPHONE | 21), helpstring("method SetDisplay")] HRESULT SetDisplay( [in] long lRow, [in] long lColumn, [in] BSTR bstrDisplay );
// // returns a collection/enumeration of addresses that the phone // is preferred on // [propget, id(IDISPPHONE | 22), helpstring("property PreferredAddresses")] HRESULT PreferredAddresses( [out, retval] VARIANT * pAddresses );
[id(IDISPPHONE | 23), hidden, helpstring("method EnumeratePreferredAddresses")] HRESULT EnumeratePreferredAddresses( [out, retval] IEnumAddress ** ppEnumAddress );
// // device specific methods //
[id(IDISPADDRESS | 24), hidden, helpstring("method DeviceSpecific")] HRESULT DeviceSpecific( [in] BYTE *pParams, [in] DWORD dwSize );
[id(IDISPADDRESS | 25), helpstring("method DeviceSpecificVariant")] HRESULT DeviceSpecificVariant( [in] VARIANT varDevSpecificByteArray );
[id(IDISPADDRESS | 26), helpstring("method NegotiateExtVersion")] HRESULT NegotiateExtVersion( [in] long lLowVersion, [in] long lHighVersion, [out, retval] long *plExtVersion );
}
/////////////////////////////////////////////////////// // ITAutomatedPhoneControl ///////////////////////////////////////////////////////
[ uuid( 1EE1AF0E-6159-4a61-B79B-6A4BA3FC9DFC ), helpstring("TAPI 3.1 ITAutomatedPhoneControl interface"), dual ] interface ITAutomatedPhoneControl : IDispatch { [id(IDISPAPC | 1), helpstring("method StartTone")] HRESULT StartTone( [in] PHONE_TONE Tone, [in] long lDuration );
[id(IDISPAPC | 2), helpstring("method StopTone")] HRESULT StopTone();
[propget, id(IDISPAPC | 3), helpstring("property Tone")] HRESULT Tone( [out, retval] PHONE_TONE * pTone );
[id(IDISPAPC | 4), helpstring("method StartRinger")] HRESULT StartRinger( [in] long lRingMode, [in] long lDuration );
[id(IDISPAPC | 5), helpstring("method StopRinger")] HRESULT StopRinger();
[propget, id(IDISPAPC | 6), helpstring("property Ringer")] HRESULT Ringer( [out, retval] VARIANT_BOOL * pfRinging );
[propput, id(IDISPAPC | 7), helpstring("property PhoneHandlingEnabled")] HRESULT PhoneHandlingEnabled( [in] VARIANT_BOOL fEnabled );
[propget, id(IDISPAPC | 7), helpstring("property PhoneHandlingEnabled")] HRESULT PhoneHandlingEnabled( [out, retval] VARIANT_BOOL * pfEnabled );
[propput, id(IDISPAPC | 8), helpstring("property AutoEndOfNumberTimeout")] HRESULT AutoEndOfNumberTimeout( [in] long lTimeout );
[propget, id(IDISPAPC | 8), helpstring("property AutoEndOfNumberTimeout")] HRESULT AutoEndOfNumberTimeout( [out, retval] long * plTimeout );
[propput, id(IDISPAPC | 9), helpstring("property AutoDialtone")] HRESULT AutoDialtone( [in] VARIANT_BOOL fEnabled );
[propget, id(IDISPAPC | 9), helpstring("property AutoDialtone")] HRESULT AutoDialtone( [out, retval] VARIANT_BOOL * pfEnabled );
[propput, id(IDISPAPC | 10), helpstring("property AutoStopTonesOnOnHook")] HRESULT AutoStopTonesOnOnHook( [in] VARIANT_BOOL fEnabled );
[propget, id(IDISPAPC | 10), helpstring("property AutoStopTonesOnOnHook")] HRESULT AutoStopTonesOnOnHook( [out, retval] VARIANT_BOOL * pfEnabled );
[propput, id(IDISPAPC | 11), helpstring("property AutoStopRingOnOffHook")] HRESULT AutoStopRingOnOffHook( [in] VARIANT_BOOL fEnabled );
[propget, id(IDISPAPC | 11), helpstring("property AutoStopRingOnOffHook")] HRESULT AutoStopRingOnOffHook( [out, retval] VARIANT_BOOL * pfEnabled );
[propput, id(IDISPAPC | 12), helpstring("property AutoKeypadTones")] HRESULT AutoKeypadTones( [in] VARIANT_BOOL fEnabled );
[propget, id(IDISPAPC | 12), helpstring("property AutoKeypadTones")] HRESULT AutoKeypadTones ( [out, retval] VARIANT_BOOL * pfEnabled );
[propput, id(IDISPAPC | 13), helpstring("property AutoKeypadTonesMinimumDuration")] HRESULT AutoKeypadTonesMinimumDuration( [in] long lDuration );
[propget, id(IDISPAPC | 13), helpstring("property AutoKeypadTonesMinimumDuration")] HRESULT AutoKeypadTonesMinimumDuration( [out, retval] long * plDuration );
[propput, id(IDISPAPC | 14), helpstring("property AutoVolumeControl")] HRESULT AutoVolumeControl( [in] VARIANT_BOOL fEnabled );
[propget, id(IDISPAPC | 14), helpstring("property AutoVolumeControl")] HRESULT AutoVolumeControl( [out, retval] VARIANT_BOOL * fEnabled );
[propput, id(IDISPAPC | 15), helpstring("property AutoVolumeControlStep")] HRESULT AutoVolumeControlStep( [in] long lStepSize );
[propget, id(IDISPAPC | 15), helpstring("property AutoVolumeControlStep")] HRESULT AutoVolumeControlStep( [out, retval] long * plStepSize );
[propput, id(IDISPAPC | 16), helpstring("property AutoVolumeControlRepeatDelay")] HRESULT AutoVolumeControlRepeatDelay( [in] long lDelay );
[propget, id(IDISPAPC | 16), helpstring("property AutoVolumeControlRepeatDelay")] HRESULT AutoVolumeControlRepeatDelay( [out, retval] long * plDelay );
[propput, id(IDISPAPC | 17), helpstring("property AutoVolumeControlRepeatPeriod")] HRESULT AutoVolumeControlRepeatPeriod( [in] long lPeriod );
[propget, id(IDISPAPC | 17), helpstring("property AutoVolumeControlRepeatPeriod")] HRESULT AutoVolumeControlRepeatPeriod( [out, retval] long * plPeriod );
[id(IDISPAPC | 18), helpstring("method SelectCall")] HRESULT SelectCall( [in] ITCallInfo * pCall, [in] VARIANT_BOOL fSelectDefaultTerminals );
[id(IDISPAPC | 19), helpstring("method UnselectCall")] HRESULT UnselectCall( [in] ITCallInfo * pCall );
[id(IDISPAPC | 20), hidden, helpstring("method EnumerateSelectedCalls")] HRESULT EnumerateSelectedCalls( [out, retval] IEnumCall ** ppCallEnum );
[propget, id(IDISPAPC | 21), helpstring("property SelectedCalls")] HRESULT SelectedCalls( [out, retval] VARIANT * pVariant ); }
[ uuid( B1EFC389-9355-11d0-835C-00AA003CCABD ), helpstring("TAPI 3.0 ITBasicCallControl interface"), dual ] interface ITBasicCallControl : IDispatch {
[id(IDISPBASICCALLCONTROL | 3), helpstring("method Connect")] HRESULT Connect( [in] VARIANT_BOOL fSync );
[id(IDISPBASICCALLCONTROL | 4), helpstring("method Answer")] HRESULT Answer();
[id(IDISPBASICCALLCONTROL | 5), helpstring("method Disconnect")] HRESULT Disconnect( [in] DISCONNECT_CODE code );
[id(IDISPBASICCALLCONTROL | 6), helpstring("method Hold")] HRESULT Hold( [in] VARIANT_BOOL fHold );
[id(IDISPBASICCALLCONTROL | 7), helpstring("method HandoffDirect")] HRESULT HandoffDirect( [in] BSTR pApplicationName );
[id(IDISPBASICCALLCONTROL | 8), helpstring("method HandoffIndirect")] HRESULT HandoffIndirect( [in] long lMediaType );
[id(IDISPBASICCALLCONTROL | 9), helpstring("method Conference")] HRESULT Conference( [in] ITBasicCallControl * pCall, [in] VARIANT_BOOL fSync );
[id(IDISPBASICCALLCONTROL | 10), helpstring("method Transfer")] HRESULT Transfer( [in] ITBasicCallControl * pCall, [in] VARIANT_BOOL fSync );
[id(IDISPBASICCALLCONTROL | 11), helpstring("method BlindTransfer")] HRESULT BlindTransfer( [in] BSTR pDestAddress ); [id(IDISPBASICCALLCONTROL | 12), helpstring("method SwapHold")] HRESULT SwapHold( [in] ITBasicCallControl * pCall ); [id(IDISPBASICCALLCONTROL | 13), helpstring("method ParkDirect")] HRESULT ParkDirect( [in] BSTR pParkAddress ); [id(IDISPBASICCALLCONTROL | 14), helpstring("method ParkIndirect")] HRESULT ParkIndirect( [out, retval] BSTR * ppNonDirAddress ); [id(IDISPBASICCALLCONTROL | 15), helpstring("method Unpark")] HRESULT Unpark();
[id(IDISPBASICCALLCONTROL | 16), helpstring("method SetQOS")] HRESULT SetQOS( [in] long lMediaType, [in] QOS_SERVICE_LEVEL ServiceLevel );
[id(IDISPBASICCALLCONTROL | 19), helpstring("method Pickup")] HRESULT Pickup( [in] BSTR pGroupID );
[id(IDISPBASICCALLCONTROL | 20), helpstring("method Dial")] HRESULT Dial( [in] BSTR pDestAddress );
[id(IDISPBASICCALLCONTROL | 21), helpstring("method Finish")] HRESULT Finish( [in] FINISH_MODE finishMode );
[id(IDISPBASICCALLCONTROL | 22), helpstring("method RemoveFromConference")] HRESULT RemoveFromConference();
}
[ uuid( 350F85D1-1227-11D3-83D4-00C04FB6809F ), helpstring("TAPI 3.0 ITCallInfo interface"), dual ] interface ITCallInfo : IDispatch { [propget, id(IDISPCALLINFO | 1), helpstring("property Address")] HRESULT Address( [out, retval] ITAddress ** ppAddress );
[propget, id(IDISPCALLINFO | 2), helpstring("property CallState")] HRESULT CallState( [out, retval] CALL_STATE * pCallState );
[propget, id(IDISPCALLINFO | 3), helpstring("property Privilege")] HRESULT Privilege( [out, retval] CALL_PRIVILEGE * pPrivilege );
[propget, id(IDISPCALLINFO | 4), helpstring("property CallHub")] HRESULT CallHub( [out,retval] ITCallHub ** ppCallHub );
[propget, id(IDISPCALLINFO | 5), helpstring("property CallInfoLong")] HRESULT CallInfoLong( [in] CALLINFO_LONG CallInfoLong, [out, retval] long * plCallInfoLongVal );
[propput, id(IDISPCALLINFO | 5), helpstring("property CallInfoLong")] HRESULT CallInfoLong( [in] CALLINFO_LONG CallInfoLong, [in] long lCallInfoLongVal );
[propget, id(IDISPCALLINFO | 6), helpstring("property CallInfoString")] HRESULT CallInfoString( [in] CALLINFO_STRING CallInfoString, [out, retval] BSTR * ppCallInfoString );
[propput, id(IDISPCALLINFO | 6), helpstring("property CallInfoString")] HRESULT CallInfoString( [in] CALLINFO_STRING CallInfoString, [in] BSTR pCallInfoString );
[propget, id(IDISPCALLINFO | 7), helpstring("property CallInfoBuffer")] HRESULT CallInfoBuffer( [in] CALLINFO_BUFFER CallInfoBuffer, [out, retval] VARIANT * ppCallInfoBuffer );
[propput, id(IDISPCALLINFO | 7), helpstring("property CallInfoBuffer")] HRESULT CallInfoBuffer( [in] CALLINFO_BUFFER CallInfoBuffer, [in] VARIANT pCallInfoBuffer );
[id(IDISPCALLINFO | 8), hidden] HRESULT GetCallInfoBuffer( [in] CALLINFO_BUFFER CallInfoBuffer, [out] DWORD * pdwSize, [out, size_is(,*pdwSize)] BYTE ** ppCallInfoBuffer );
[id(IDISPCALLINFO | 9), hidden] HRESULT SetCallInfoBuffer( [in] CALLINFO_BUFFER CallInfoBuffer, [in] DWORD dwSize, [in, size_is(dwSize)] BYTE * pCallInfoBuffer );
[id(IDISPCALLINFO | 10), helpstring("method ReleaseUserUserInfo")] HRESULT ReleaseUserUserInfo(); }
[ uuid( 94D70CA6-7AB0-4daa-81CA-B8F8643FAEC1 ), helpstring("TAPI 3.1 ITCallInfo2 interface"), dual ] interface ITCallInfo2 : ITCallInfo { [propget, id(IDISPCALLINFO | 11), helpstring("method EventFilter")] HRESULT EventFilter( [in] TAPI_EVENT TapiEvent, [in] long lSubEvent, [out,retval] VARIANT_BOOL* pEnable );
[propput, id(IDISPCALLINFO | 11), helpstring("method EventFilter")] HRESULT EventFilter( [in] TAPI_EVENT TapiEvent, [in] long lSubEvent, [in] VARIANT_BOOL bEnable ); }
// // Implemented by the MSP's Terminal objects. //
[ uuid( B1EFC38A-9355-11d0-835C-00AA003CCABD ), helpstring("TAPI 3.0 ITTerminal interface"), dual ]
interface ITTerminal : IDispatch { [propget, id(1), helpstring("property Name")] HRESULT Name( [out, retval] BSTR * ppName );
[propget, id(2), helpstring("property State")] HRESULT State( [out, retval] TERMINAL_STATE * pTerminalState );
[propget, id(3), helpstring("property TerminalType")] HRESULT TerminalType( [out, retval] TERMINAL_TYPE * pType );
// terminal class is actually a guid [propget, id(4), helpstring("property TerminalClass")] HRESULT TerminalClass( [out, retval] BSTR * ppTerminalClass );
[propget, id(5), helpstring("property MediaType")] HRESULT MediaType( [out, retval] long * plMediaType );
[propget, id(6), helpstring("property Direction")] HRESULT Direction( [out, retval] TERMINAL_DIRECTION *pDirection ); }
// // implemented by multitrack terminals //
[ object, uuid(FE040091-ADE8-4072-95C9-BF7DE8C54B44), dual, helpstring("ITMultiTrackTerminal Interface"), ]
interface ITMultiTrackTerminal : IDispatch {
[propget, id(IDISPMULTITRACK | 1), helpstring("property TrackTerminals")] HRESULT TrackTerminals( [out, retval] VARIANT *pVariant );
[id(IDISPMULTITRACK | 2), hidden, helpstring("method EnumerateTrackTerminals")] HRESULT EnumerateTrackTerminals( [out, retval] IEnumTerminal **ppEnumTerminal );
[id(IDISPMULTITRACK | 3), helpstring("method CreateTrackTerminal")] HRESULT CreateTrackTerminal( [in]long MediaType, [in]TERMINAL_DIRECTION TerminalDirection, [out,retval]ITTerminal **ppTerminal );
[propget, id(IDISPMULTITRACK | 4), helpstring("property MediaTypesInUse")] HRESULT MediaTypesInUse( [out, retval] long *plMediaTypesInUse );
[propget, id(IDISPMULTITRACK | 5), helpstring("property DirectionsInUse")] HRESULT DirectionsInUse( [out, retval] TERMINAL_DIRECTION *plDirectionsInUsed ); [id(IDISPMULTITRACK | 6), helpstring("method RemoveTrackTerminal")] HRESULT RemoveTrackTerminal( [in] ITTerminal *pTrackTerminalToRemove );
}
// // this describes state of the terminal //
typedef enum TERMINAL_MEDIA_STATE { TMS_IDLE, // Terminal is doing nothing. No transfer of data TMS_ACTIVE, // Transferring media stream <-> storage TMS_PAUSED, // Transfer temporarily suspended TMS_LASTITEM = TMS_PAUSED } TERMINAL_MEDIA_STATE;
// // state transition causes //
typedef enum FT_STATE_EVENT_CAUSE { FTEC_NORMAL, FTEC_END_OF_FILE, FTEC_READ_ERROR, FTEC_WRITE_ERROR } FT_STATE_EVENT_CAUSE;
[ object, uuid(31CA6EA9-C08A-4bea-8811-8E9C1BA3EA3A), dual, helpstring("ITFileTrack Interface"), pointer_default(unique) ]
interface ITFileTrack : IDispatch { [propget, id(IDISPFILETRACK | 1), hidden, helpstring("property Format")] HRESULT Format( [out, retval] AM_MEDIA_TYPE **ppmt );
[propput, id(IDISPFILETRACK | 1), hidden, helpstring("property Format")] HRESULT Format( [in] const AM_MEDIA_TYPE *pmt );
[propget, id(IDISPFILETRACK | 2), helpstring("property ControllingTerminal")] HRESULT ControllingTerminal( [out, retval] ITTerminal **ppControllingTerminal );
[propget, id(IDISPFILETRACK | 3), helpstring("property AudioFormatForScripting")] HRESULT AudioFormatForScripting( [out, retval] ITScriptableAudioFormat** ppAudioFormat );
[propput, id(IDISPFILETRACK | 3), helpstring("property AudioFormatForScripting")] HRESULT AudioFormatForScripting( [in] ITScriptableAudioFormat* pAudioFormat );
[propget, id(IDISPFILETRACK | 5), helpstring("property EmptyAudioFormatForScripting")] HRESULT EmptyAudioFormatForScripting( [out, retval] ITScriptableAudioFormat** ppAudioFormat );
};
[ object, uuid(627E8AE6-AE4C-4a69-BB63-2AD625404B77), dual, helpstring("ITMediaPlayback Interface"), pointer_default(unique) ]
interface ITMediaPlayback : IDispatch { [propput, id(IDISPMEDIAPLAYBACK | 1), helpstring("property PlayList")] HRESULT PlayList( [in] VARIANTARG PlayListVariant );
[propget, id(IDISPMEDIAPLAYBACK | 1), helpstring("property PlayList")] HRESULT PlayList( [out, retval] VARIANTARG* pPlayListVariant ); };
[ object, uuid(F5DD4592-5476-4cc1-9D4D-FAD3EEFE7DB2), dual, helpstring("ITMediaRecord Interface"), pointer_default(unique) ] interface ITMediaRecord : IDispatch { [propput, id(IDISPMEDIARECORD | 1), helpstring("propery FileName")] HRESULT FileName ( [in] BSTR bstrFileName );
[propget, id(IDISPMEDIARECORD | 1), helpstring("property FileName")] HRESULT FileName( [out, retval] BSTR *pbstrFileName ); };
[ object, uuid(C445DDE8-5199-4bc7-9807-5FFB92E42E09), dual, helpstring("ITMediaControl Interface"), pointer_default(unique) ]
interface ITMediaControl : IDispatch { [id(IDISPMEDIACONTROL | 1), helpstring("method Start")] HRESULT Start();
[id(IDISPMEDIACONTROL | 2), helpstring("method Stop")] HRESULT Stop();
[id(IDISPMEDIACONTROL | 3), helpstring("method Pause")] HRESULT Pause();
[propget, id(IDISPMEDIACONTROL | 4), helpstring("property MediaState")] HRESULT MediaState( [out, retval] TERMINAL_MEDIA_STATE *pTerminalMediaState ); };
[ uuid( B1EFC38D-9355-11d0-835C-00AA003CCABD ), helpstring("TAPI 3.0 ITBasicAudioTerminal interface"), dual ] interface ITBasicAudioTerminal : IDispatch { [propput, id(1), helpstring("property Volume")] HRESULT Volume( [in] long lVolume );
[propget, id(1), helpstring("property Volume")] HRESULT Volume( [out, retval] long * plVolume );
[propput, id(2), helpstring("property Balance")] HRESULT Balance( [in] long lBalance );
[propget, id(2), helpstring("property Balance")] HRESULT Balance( [out, retval] long * plBalance ); }
/////////////////////////////////////////////////////// // ITStaticAudioTerminal ///////////////////////////////////////////////////////
[ uuid( A86B7871-D14C-48e6-922E-A8D15F984800 ), helpstring("TAPI 3.1 ITStaticAudioTerminal Interface"), dual ] interface ITStaticAudioTerminal : IDispatch { [propget, id(1), helpstring("property WaveId")] HRESULT WaveId( [out, retval] long * plWaveId ); }
[ uuid( A3C1544E-5B92-11d1-8F4E-00C04FB6809F ), helpstring("TAPI 3.0 ITCallHub interface"), dual ] interface ITCallHub : IDispatch { [id(1), helpstring("method Clear")] HRESULT Clear();
[id(2), hidden, helpstring("method EnumerateCalls")] HRESULT EnumerateCalls( [out, retval] IEnumCall ** ppEnumCall ); [propget, id(3), helpstring("property Calls")] HRESULT Calls( [out, retval] VARIANT * pCalls ); [propget, id(4), helpstring("property NumCalls")] HRESULT NumCalls( [out, retval] long * plCalls );
[propget, id(5), helpstring("property State")] HRESULT State( [out, retval] CALLHUB_STATE * pState ); }
[ uuid(AB493640-4C0B-11D2-A046-00C04FB6809F), helpstring("TAPI 3.0 ITLegacyAddressMediaControl Interface"), hidden, pointer_default(unique) ] interface ITLegacyAddressMediaControl : IUnknown { [id(IDISPLEGACYADDRESSMEDIACONTROL | 1), hidden] HRESULT GetID( [in] BSTR pDeviceClass, [out] DWORD * pdwSize, [out, size_is(,*pdwSize)] BYTE ** ppDeviceID );
[id(IDISPLEGACYADDRESSMEDIACONTROL | 2), hidden] HRESULT GetDevConfig( [in] BSTR pDeviceClass, [out] DWORD * pdwSize, [out, size_is(,*pdwSize)] BYTE ** ppDeviceConfig );
[id(IDISPLEGACYADDRESSMEDIACONTROL | 3), hidden] HRESULT SetDevConfig( [in] BSTR pDeviceClass, [in] DWORD dwSize, [in, size_is(dwSize)] BYTE * pDeviceConfig );
}
[ uuid( 0e269cd0-10d4-4121-9c22-9c85d625650d ), helpstring("TAPI 3.0 ITPrivateEvent Interface"), dual ] interface ITPrivateEvent : IDispatch { [propget, id(1), helpstring("property Address")] HRESULT Address( [out, retval] ITAddress ** ppAddress );
[propget, id(2), helpstring("property Call")] HRESULT Call( [out, retval] ITCallInfo ** ppCallInfo ); [propget, id(3), helpstring("property CallHub")] HRESULT CallHub( [out, retval] ITCallHub ** ppCallHub ); [propget, id(4), helpstring("property EventCode")] HRESULT EventCode( [out, retval] long * plEventCode ); [propget, id(5), helpstring("property EventInterface")] HRESULT EventInterface( [out, retval] IDispatch ** pEventInterface );
}
[ uuid(B0EE512B-A531-409e-9DD9-4099FE86C738), helpstring("TAPI 3.1 ITLegacyAddressMediaControl2 Interface"), hidden, pointer_default(unique) ] interface ITLegacyAddressMediaControl2 : ITLegacyAddressMediaControl { [id(IDISPLEGACYADDRESSMEDIACONTROL | 4), hidden] HRESULT ConfigDialog( [in] HWND hwndOwner, [in] BSTR pDeviceClass );
[id(IDISPLEGACYADDRESSMEDIACONTROL | 5), hidden] HRESULT ConfigDialogEdit( [in] HWND hwndOwner, [in] BSTR pDeviceClass, [in] DWORD dwSizeIn, [in, size_is(dwSizeIn)] BYTE * pDeviceConfigIn, [out] DWORD * pdwSizeOut, [out, size_is(,*pdwSizeOut)] BYTE ** ppDeviceConfigOut ); }
[ uuid(d624582f-cc23-4436-b8a5-47c625c8045d), helpstring("TAPI 3.0 ITLegacyCallMediaControl Interface"), dual, pointer_default(unique) ] interface ITLegacyCallMediaControl : IDispatch { [id(IDISPLEGACYCALLMEDIACONTROL | 1), helpstring("method DetectDigits")] HRESULT DetectDigits( [in] TAPI_DIGITMODE DigitMode ); [id(IDISPLEGACYCALLMEDIACONTROL | 2), helpstring("method GenerateDigits")] HRESULT GenerateDigits( [in] BSTR pDigits, [in] TAPI_DIGITMODE DigitMode ); [id(IDISPLEGACYCALLMEDIACONTROL | 3), hidden] HRESULT GetID( [in] BSTR pDeviceClass, [out] DWORD * pdwSize, [out, size_is(,*pdwSize)] BYTE ** ppDeviceID ); [id(IDISPLEGACYCALLMEDIACONTROL | 4), helpstring("method SetMediaType")] HRESULT SetMediaType( [in] long lMediaType ); [id(IDISPLEGACYCALLMEDIACONTROL | 5), helpstring("method MonitorMedia")] HRESULT MonitorMedia( [in] long lMediaType ); }
[ uuid(57CA332D-7BC2-44f1-A60C-936FE8D7CE73), helpstring("TAPI 3.1 ITLegacyCallMediaControl2 Interface"), dual ] interface ITLegacyCallMediaControl2 : ITLegacyCallMediaControl { [id(IDISPLEGACYCALLMEDIACONTROL | 6), helpstring("method GenerateDigits2")] HRESULT GenerateDigits2( [in] BSTR pDigits, [in] TAPI_DIGITMODE DigitMode, [in] long lDuration );
[id(IDISPLEGACYCALLMEDIACONTROL | 7), helpstring("method GatherDigits")] HRESULT GatherDigits( [in] TAPI_DIGITMODE DigitMode, [in] long lNumDigits, [in] BSTR pTerminationDigits, [in] long lFirstDigitTimeout, [in] long lInterDigitTimeout );
[id(IDISPLEGACYCALLMEDIACONTROL | 8), hidden, helpstring("method DetectTones")] HRESULT DetectTones( [in] TAPI_DETECTTONE * pToneList, [in] long lNumTones );
[id(IDISPLEGACYCALLMEDIACONTROL | 9), helpstring("method DetectTonesByCollection")] HRESULT DetectTonesByCollection( [in] ITCollection2 * pDetectToneCollection );
[id(IDISPLEGACYCALLMEDIACONTROL | 10), helpstring("method GenerateTone")] HRESULT GenerateTone( [in] TAPI_TONEMODE ToneMode, [in] long lDuration );
[id(IDISPLEGACYCALLMEDIACONTROL | 11), hidden, helpstring("method GenerateCustomTones")] HRESULT GenerateCustomTones( [in] TAPI_CUSTOMTONE * pToneList, [in] long lNumTones, [in] long lDuration );
[id(IDISPLEGACYCALLMEDIACONTROL | 12), helpstring("method GenerateCustomTonesByCollection")] HRESULT GenerateCustomTonesByCollection( [in] ITCollection2 * pCustomToneCollection, [in] long lDuration );
[id(IDISPLEGACYCALLMEDIACONTROL | 13), helpstring("method CreateDetectToneObject")] HRESULT CreateDetectToneObject( [out, retval] ITDetectTone ** ppDetectTone );
[id(IDISPLEGACYCALLMEDIACONTROL | 14), helpstring("method CreateCustomToneObject")] HRESULT CreateCustomToneObject( [out, retval] ITCustomTone ** ppCustomTone );
[id(IDISPLEGACYCALLMEDIACONTROL | 15), helpstring("method GetIDAsVariant")] HRESULT GetIDAsVariant( [in] BSTR bstrDeviceClass, [out, retval] VARIANT *pVarDeviceID );
}
[ uuid( 961F79BD-3097-49df-A1D6-909B77E89CA0 ), helpstring("TAPI 3.1 ITDetectTone Interface"), dual ] interface ITDetectTone : IDispatch { [propget, id(1), helpstring("property AppSpecific")] HRESULT AppSpecific( [out, retval] long * plAppSpecific );
[propput, id(1), helpstring("property AppSpecific")] HRESULT AppSpecific( [in] long lAppSpecific );
[propget, id(2), helpstring("property Duration")] HRESULT Duration( [out, retval] long * plDuration );
[propput, id(2), helpstring("property Duration")] HRESULT Duration( [in] long lDuration );
[propget, id(3), helpstring("property Frequency")] HRESULT Frequency( [in] long Index, [out, retval] long * plFrequency );
[propput, id(3), helpstring("property Frequency")] HRESULT Frequency( [in] long Index, [in] long lFrequency ); }
[ uuid( 357AD764-B3C6-4b2a-8FA5-0722827A9254 ), helpstring("TAPI 3.1 ITCustomTone Interface"), dual, pointer_default(unique) ] interface ITCustomTone : IDispatch { [propget, id(1), helpstring("property Frequency")] HRESULT Frequency( [out, retval] long * plFrequency );
[propput, id(1), helpstring("property Frequency")] HRESULT Frequency( [in] long lFrequency );
[propget, id(2), helpstring("property CadenceOn")] HRESULT CadenceOn( [out, retval] long * plCadenceOn );
[propput, id(2), helpstring("property CadenceOn")] HRESULT CadenceOn( [in] long CadenceOn );
[propget, id(3), helpstring("property CadenceOff")] HRESULT CadenceOff( [out, retval] long * plCadenceOff );
[propput, id(3), helpstring("property CadenceOff")] HRESULT CadenceOff( [in] long lCadenceOff );
[propget, id(4), helpstring("property Volume")] HRESULT Volume( [out, retval] long * plVolume );
[propput, id(4), helpstring("property Volume")] HRESULT Volume( [in] long lVolume ); }
/////////////////////////////////////////////////////// // IEnumPhone ///////////////////////////////////////////////////////
[ uuid( F15B7669-4780-4595-8C89-FB369C8CF7AA ), helpstring("TAPI 3.1 IEnumPhone Interface"), hidden, pointer_default(unique) ] interface IEnumPhone : IUnknown {
HRESULT Next( [in] ULONG celt, [out, size_is(celt)] ITPhone ** ppElements, [in,out,ptr] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumPhone ** ppEnum ); }
[ uuid( AE269CF4-935E-11d0-835C-00AA003CCABD ), helpstring("TAPI 3.0 IEnumTerminal Interface"), hidden, pointer_default(unique) ] interface IEnumTerminal : IUnknown {
HRESULT Next( [in] ULONG celt, [out] ITTerminal ** ppElements, [in,out,ptr] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumTerminal ** ppEnum ); }
[ uuid( AE269CF5-935E-11d0-835C-00AA003CCABD ), helpstring("TAPI 3.0 IEnumTerminalClass interface"), hidden, pointer_default(unique) ] interface IEnumTerminalClass : IUnknown {
HRESULT Next( [in] ULONG celt, [out, size_is(celt)] GUID * pElements, [in,out,ptr] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumTerminalClass ** ppEnum ); }
[ uuid( AE269CF6-935E-11d0-835C-00AA003CCABD ), helpstring("TAPI 3.0 IEnumCall interface"), hidden, pointer_default(unique) ] interface IEnumCall : IUnknown {
HRESULT Next( [in] ULONG celt, [out] ITCallInfo ** ppElements, [in,out,ptr] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumCall ** ppEnum ); }
[ uuid( 1666FCA1-9363-11d0-835C-00AA003CCABD ), helpstring("TAPI 3.0 IEnumAddress interface"), hidden, pointer_default(unique) ] interface IEnumAddress : IUnknown { HRESULT Next( [in] ULONG celt, [out, size_is(celt)] ITAddress ** ppElements, [in,out,ptr] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumAddress ** ppEnum ); }
[ uuid( A3C15450-5B92-11d1-8F4E-00C04FB6809F ), helpstring("TAPI 3.0 IEnumCallHub interface"), hidden, pointer_default(unique) ] interface IEnumCallHub : IUnknown {
HRESULT Next( [in] ULONG celt, [out, size_is(celt)] ITCallHub ** ppElements, [in,out,ptr] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumCallHub ** ppEnum ); }
[ uuid( 35372049-0BC6-11d2-A033-00C04FB6809F ), helpstring("TAPI 3.0 IEnumBstr interface"), hidden, pointer_default(unique) ] interface IEnumBstr : IUnknown { HRESULT Next( [in] ULONG celt, [out, size_is(celt)] BSTR * ppStrings, [in,out,ptr] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumBstr ** ppEnum ); }
[ uuid( 4567450C-DBEE-4e3f-AAF5-37BF9EBF5E29 ), helpstring("TAPI 3.1 IEnumPluggableTerminalClassInfo interface"), hidden, pointer_default(unique) ] interface IEnumPluggableTerminalClassInfo : IUnknown {
HRESULT Next( [in] ULONG celt, [out, size_is(celt)] ITPluggableTerminalClassInfo** ppElements, [in,out,ptr] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumPluggableTerminalClassInfo ** ppEnum ); }
[ uuid( E9586A80-89E6-4cff-931D-478D5751F4C0 ), helpstring("TAPI 3.1 IEnumPluggableSuperclassInfo interface"), hidden, pointer_default(unique) ] interface IEnumPluggableSuperclassInfo : IUnknown {
HRESULT Next( [in] ULONG celt, [out, size_is(celt)] ITPluggableTerminalSuperclassInfo** ppElements, [in,out,ptr] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumPluggableSuperclassInfo ** ppEnum ); }
/////////////////////////////////////////////////////// // ITPhoneEvent /////////////////////////////////////////////////////// [ uuid( 8F942DD8-64ED-4aaf-A77D-B23DB0837EAD ), helpstring("TAPI 3.1 ITPhoneEvent Interface"), oleautomation ] interface ITPhoneEvent : IDispatch { [propget, id(1), helpstring("property Phone")] HRESULT Phone( [out, retval] ITPhone ** ppPhone ); [propget, id(2), helpstring("property Event")] HRESULT Event( [out, retval] PHONE_EVENT * pEvent );
[propget, id(3), helpstring("property ButtonState")] HRESULT ButtonState( [out, retval] PHONE_BUTTON_STATE * pState );
[propget, id(4), helpstring("property HookSwitchState")] HRESULT HookSwitchState( [out, retval] PHONE_HOOK_SWITCH_STATE * pState );
[propget, id(5), helpstring("property HookSwitchDevice")] HRESULT HookSwitchDevice( [out, retval] PHONE_HOOK_SWITCH_DEVICE * pDevice );
[propget, id(6), helpstring("property RingMode")] HRESULT RingMode( [out, retval] long * plRingMode );
[propget, id(7), helpstring("property ButtonLampId")] HRESULT ButtonLampId( [out, retval] long * plButtonLampId );
[propget, id(8), helpstring("property NumberGathered")] HRESULT NumberGathered( [out, retval] BSTR * ppNumber );
[propget, id(9), helpstring("property Call")] HRESULT Call( [out, retval] ITCallInfo ** ppCallInfo ); }
[ uuid( 62F47097-95C9-11d0-835D-00AA003CCABD ), helpstring("TAPI 3.0 ITCallStateEvent Interface"), dual ] interface ITCallStateEvent : IDispatch { [propget, id(1), helpstring("property Call")] HRESULT Call( [out, retval] ITCallInfo ** ppCallInfo );
[propget, id(2), helpstring("property State")] HRESULT State( [out, retval] CALL_STATE * pCallState );
[propget, id(3), helpstring("property Cause")] HRESULT Cause( [out, retval] CALL_STATE_EVENT_CAUSE * pCEC );
[propget, id(4), helpstring("property CallbackInstance")] HRESULT CallbackInstance( [out, retval] long * plCallbackInstance ); }
[ uuid( 63FFB2A6-872B-4cd3-A501-326E8FB40AF7 ), helpstring("TAPI 3.1 ITPhoneDeviceSpecificEvent interface"), oleautomation ] interface ITPhoneDeviceSpecificEvent : IDispatch { [propget, id(1), helpstring("property Phone")] HRESULT Phone( [out, retval] ITPhone ** ppPhone ); [propget, id(2), helpstring("property lParam1")] HRESULT lParam1( [out, retval] long *pParam1);
[propget, id(3), helpstring("property lParam2")] HRESULT lParam2( [out, retval] long *pParam2);
[propget, id(4), helpstring("property lParam3")] HRESULT lParam3( [out, retval] long *pParam3); }
[ uuid( FF36B87F-EC3A-11d0-8EE4-00C04FB6809F ), helpstring("TAPI 3.0 ITCallMediaEvent Interface"), dual ] interface ITCallMediaEvent : IDispatch { [propget, id(1), helpstring("property Call")] HRESULT Call( [out, retval] ITCallInfo ** ppCallInfo ); [propget, id(2), helpstring("property Event")] HRESULT Event( [out, retval] CALL_MEDIA_EVENT * pCallMediaEvent ); [propget, id(3), helpstring("property Error")] HRESULT Error( [out, retval] HRESULT * phrError );
[propget, id(4), helpstring("property Terminal")] HRESULT Terminal( [out, retval] ITTerminal ** ppTerminal );
[propget, id(5), helpstring("property Stream")] HRESULT Stream( [out, retval] ITStream ** ppStream );
[propget, id(6), helpstring("property Cause")] HRESULT Cause( [out, retval] CALL_MEDIA_EVENT_CAUSE * pCause ); }
[
uuid( 80D3BFAC-57D9-11d2-A04A-00C04FB6809F ), helpstring("TAPI 3.0 ITDigitDetectionEvent interface"), oleautomation ] interface ITDigitDetectionEvent : IDispatch { [propget, id(1), helpstring("property Call")] HRESULT Call( [out, retval] ITCallInfo ** ppCallInfo );
[propget, id(2), helpstring("property Digit")] HRESULT Digit( [out, retval] unsigned char * pucDigit );
[propget, id(3), helpstring("property DigitMode")] HRESULT DigitMode( [out, retval] TAPI_DIGITMODE * pDigitMode );
[propget, id(4), helpstring("property TickCount")] HRESULT TickCount( [out, retval] long * plTickCount );
[propget, id(5), helpstring("property CallbackInstance")] HRESULT CallbackInstance( [out, retval] long * plCallbackInstance ); }
[ uuid(80D3BFAD-57D9-11d2-A04A-00C04FB6809F), helpstring("TAPI 3.0 ITDigitGenerationEvent interface"), dual ] interface ITDigitGenerationEvent : IDispatch { [propget, id(1), helpstring("property Call")] HRESULT Call( [out, retval] ITCallInfo ** ppCallInfo );
[propget, id(2), helpstring("property GenerationTermination")] HRESULT GenerationTermination( [out, retval] long * plGenerationTermination );
[propget, id(3), helpstring("property TickCount")] HRESULT TickCount( [out, retval] long * plTickCount );
[propget, id(4), helpstring("property CallbackInstance")] HRESULT CallbackInstance( [out, retval] long * plCallbackInstance ); }
[ uuid( E52EC4C1-CBA3-441a-9E6A-93CB909E9724 ), helpstring("TAPI 3.1 ITDigitsGatheredEvent Interface"), dual ] interface ITDigitsGatheredEvent : IDispatch { [propget, id(1), helpstring("property Call")] HRESULT Call( [out, retval] ITCallInfo ** ppCallInfo );
[propget, id(2), helpstring("property Digits")] HRESULT Digits( [out, retval] BSTR * ppDigits );
[propget, id(3), helpstring("property GatherTermination")] HRESULT GatherTermination( [out, retval] TAPI_GATHERTERM * pGatherTermination );
[propget, id(4), helpstring("property TickCount")] HRESULT TickCount( [out, retval] long * plTickCount );
[propget, id(5), helpstring("property CallbackInstance")] HRESULT CallbackInstance( [out, retval] long * plCallbackInstance ); }
[ uuid( 407E0FAF-D047-4753-B0C6-8E060373FECD ), helpstring("TAPI 3.1 ITToneDetectionEvent Interface"), dual ] interface ITToneDetectionEvent : IDispatch { [propget, id(1), helpstring("property Call")] HRESULT Call( [out, retval] ITCallInfo ** ppCallInfo );
[propget, id(2), helpstring("property AppSpecific")] HRESULT AppSpecific( [out, retval] long * plAppSpecific );
[propget, id(3), helpstring("property TickCount")] HRESULT TickCount( [out, retval] long * plTickCount );
[propget, id(4), helpstring("property CallbackInstance")] HRESULT CallbackInstance( [out, retval] long * plCallbackInstance ); }
[ uuid( F4854D48-937A-11d1-BB58-00C04FB6809F ), helpstring("TAPI 3.0 ITTAPIObjectEvent Interface"), dual ] interface ITTAPIObjectEvent : IDispatch { [propget, id(1), helpstring("property TAPIObject")] HRESULT TAPIObject( [out, retval] ITTAPI ** ppTAPIObject );
[propget, id(2), helpstring("property Event")] HRESULT Event( [out, retval] TAPIOBJECT_EVENT * pEvent );
[propget, id(3), helpstring("property Address")] HRESULT Address( [out, retval] ITAddress ** ppAddress );
[propget, id(4), helpstring("property CallbackInstance")] HRESULT CallbackInstance( [out, retval] long * plCallbackInstance ); }
[ uuid( 359DDA6E-68CE-4383-BF0B-169133C41B46 ), helpstring("TAPI 3.1 ITTAPIObjectEvent2 interface"), oleautomation ] interface ITTAPIObjectEvent2 : ITTAPIObjectEvent { [propget, id(5), helpstring("property Phone")] HRESULT Phone( [out, retval] ITPhone ** ppPhone ); }
[ uuid( EDDB9426-3B91-11d1-8F30-00C04FB6809F ), helpstring("TAPI 3.0 ITTAPIEventNotification Interface"), oleautomation ] interface ITTAPIEventNotification : IUnknown { [id(1), helpstring("method Event")] HRESULT Event( [in] TAPI_EVENT TapiEvent, [in] IDispatch * pEvent ); }
[ uuid( A3C15451-5B92-11d1-8F4E-00C04FB6809F ), helpstring("TAPI 3.0 ITCallHubEvent Interface"), oleautomation ] interface ITCallHubEvent : IDispatch { [propget, id(1), helpstring("property Event")] HRESULT Event( [out, retval] CALLHUB_EVENT * pEvent );
[propget, id(2), helpstring("property CallHub")] HRESULT CallHub( [out, retval] ITCallHub ** ppCallHub );
[propget, id(3), helpstring("property Call")] HRESULT Call( [out, retval] ITCallInfo ** ppCall ); }
[ uuid( 831CE2D1-83B5-11d1-BB5C-00C04FB6809F ), helpstring("TAPI 3.0 ITAddressEvent interface"), oleautomation ] interface ITAddressEvent : IDispatch { [propget, id(1), helpstring("property Address")] HRESULT Address( [out, retval] ITAddress ** ppAddress ); [propget, id(2), helpstring("property Event")] HRESULT Event( [out, retval] ADDRESS_EVENT * pEvent );
[propget, id(3), helpstring("property Terminal")] HRESULT Terminal( [out, retval] ITTerminal ** ppTerminal ); }
[ uuid( 3ACB216B-40BD-487a-8672-5CE77BD7E3A3 ), helpstring("TAPI 3.1 ITAddressDeviceSpecificEvent interface"), oleautomation ] interface ITAddressDeviceSpecificEvent : IDispatch { [propget, id(1), helpstring("property Address")] HRESULT Address( [out, retval] ITAddress ** ppAddress ); [propget, id(2), helpstring("property Call")] HRESULT Call( [out, retval] ITCallInfo ** ppCall );
[propget, id(3), helpstring("property lParam1")] HRESULT lParam1( [out, retval] long *pParam1);
[propget, id(4), helpstring("property lParam2")] HRESULT lParam2( [out, retval] long *pParam2);
[propget, id(5), helpstring("property lParam3")] HRESULT lParam3( [out, retval] long *pParam3); }
[ uuid( E4A7FBAC-8C17-4427-9F55-9F589AC8AF00 ), helpstring("TAPI 3.0 ITFileTerminalEvent interface"), oleautomation ] interface ITFileTerminalEvent : IDispatch { [propget, id(1), helpstring("property Terminal")] HRESULT Terminal( [out, retval] ITTerminal ** ppTerminal ); [propget, id(2), helpstring("property Track")] HRESULT Track( [out, retval] ITFileTrack ** ppTrackTerminal );
[propget, id(3), helpstring("property Call") ] HRESULT Call( [out, retval] ITCallInfo ** ppCall );
[propget, id(4), helpstring("property State")] HRESULT State( [out, retval] TERMINAL_MEDIA_STATE * pState);
[propget, id(5), helpstring("property Cause")] HRESULT Cause( [out, retval] FT_STATE_EVENT_CAUSE * pCause );
[propget, id(6), helpstring("property Error")] HRESULT Error( [out, retval] HRESULT * phrErrorCode ); }
[ uuid( D964788F-95A5-461d-AB0C-B9900A6C2713 ), helpstring("TAPI 3.0 ITTTSTerminalEvent interface"), oleautomation ] interface ITTTSTerminalEvent : IDispatch { [propget, id(1), helpstring("property Terminal")] HRESULT Terminal( [out, retval] ITTerminal ** ppTerminal ); [propget, id(2), helpstring("property Call") ] HRESULT Call( [out, retval] ITCallInfo ** ppCall );
[propget, id(3), helpstring("property Error")] HRESULT Error( [out, retval] HRESULT * phrErrorCode ); }
[ uuid( EE016A02-4FA9-467c-933F-5A15B12377D7 ), helpstring("TAPI 3.0 ITASRTerminalEvent interface"), oleautomation ] interface ITASRTerminalEvent : IDispatch { [propget, id(1), helpstring("property Terminal")] HRESULT Terminal( [out, retval] ITTerminal ** ppTerminal ); [propget, id(2), helpstring("property Call") ] HRESULT Call( [out, retval] ITCallInfo ** ppCall );
[propget, id(3), helpstring("property Error")] HRESULT Error( [out, retval] HRESULT * phrErrorCode ); }
[ uuid( E6F56009-611F-4945-BBD2-2D0CE5612056 ), helpstring("TAPI 3.0 ITToneTerminalEvent interface"), oleautomation ] interface ITToneTerminalEvent : IDispatch { [propget, id(1), helpstring("property Terminal")] HRESULT Terminal( [out, retval] ITTerminal ** ppTerminal ); [propget, id(2), helpstring("property Call") ] HRESULT Call( [out, retval] ITCallInfo ** ppCall );
[propget, id(3), helpstring("property Error")] HRESULT Error( [out, retval] HRESULT * phrErrorCode ); }
[ uuid( CFA3357C-AD77-11d1-BB68-00C04FB6809F ), helpstring("TAPI 3.0 ITQOSEvent Interface"), oleautomation ] interface ITQOSEvent : IDispatch { [propget, id(1), helpstring("property CallHub")] HRESULT Call( [out, retval] ITCallInfo ** ppCall );
[propget, id(3), helpstring("property Event")] HRESULT Event( [out, retval] QOS_EVENT * pQosEvent );
[propget, id(4), helpstring("property MediaType")] HRESULT MediaType( [out, retval] long * plMediaType ); }
[ uuid( 5D4B65F9-E51C-11d1-A02F-00C04FB6809F ), helpstring("TAPI 3.0 ITCallInfoChangeEvent Interface"), oleautomation ] interface ITCallInfoChangeEvent : IDispatch { [ propget, id(1), helpstring("property Call") ] HRESULT Call( [out, retval] ITCallInfo ** ppCall );
[ propget, id(2), helpstring("property Cause") ] HRESULT Cause( [out, retval] CALLINFOCHANGE_CAUSE * pCIC );
[ propget, id(3), helpstring("property Callback Instance") ] HRESULT CallbackInstance( [out, retval] long * plCallbackInstance ); }
[ uuid( AC48FFDF-F8C4-11d1-A030-00C04FB6809F ), helpstring("TAPI 3.0 ITRequest Interface"), oleautomation ] interface ITRequest : IDispatch { [ id(1), helpstring("method MakeCall") ] HRESULT MakeCall( [in] BSTR pDestAddress, [in] BSTR pAppName, [in] BSTR pCalledParty, [in] BSTR pComment ); }
[ uuid(AC48FFDE-F8C4-11d1-A030-00C04FB6809F ), helpstring("TAPI 3.0 ITRequestEvent Interface"), oleautomation ] interface ITRequestEvent : IDispatch { [ propget, id(1), helpstring("property RegistrationInstance") ] HRESULT RegistrationInstance( [out, retval] long * plRegistrationInstance );
[ propget, id(2), helpstring("property RequestMode") ] HRESULT RequestMode( [out, retval] long * plRequestMode );
[ propget, id(3), helpstring("property DestAddress") ] HRESULT DestAddress( [out, retval] BSTR * ppDestAddress );
[ propget, id(5), helpstring("property AppName") ] HRESULT AppName( [out, retval] BSTR * ppAppName );
[ propget, id(6), helpstring("property CalledParty") ] HRESULT CalledParty( [out, retval] BSTR * ppCalledParty );
[ propget, id(7), helpstring("property Comment") ] HRESULT Comment( [out, retval] BSTR * ppComment ); }
[ object, public, uuid( 5EC5ACF2-9C02-11d0-8362-00AA003CCABD ), helpstring("TAPI 3.0 ITCollection interface"), dual ] interface ITCollection : 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, public, uuid( E6DDDDA5-A6D3-48ff-8737-D32FC4D95477 ), helpstring("TAPI 3.1 ITCollection2 interface"), dual ] interface ITCollection2 : ITCollection { [id(1), helpstring("Adds an item to the collection.")] HRESULT Add( [in] long Index, [in] VARIANT * pVariant );
[id(2), helpstring("Removes an item from the collection.")] HRESULT Remove( [in] long Index ); }
[ uuid( 449F659E-88A3-11d1-BB5D-00C04FB6809F ), helpstring("TAPI 3.0 ITForwardInformation Interface"), dual ] interface ITForwardInformation : IDispatch { [propput, id(1), helpstring("property NumRingsNoAnswer")] HRESULT NumRingsNoAnswer( [in] long lNumRings ); [propget, id(1), helpstring("property NumRingsNoAnswer")] HRESULT NumRingsNoAnswer( [out, retval] long * plNumRings ); [id(2), helpstring("method SetForwardType")] HRESULT SetForwardType( [in] long ForwardType, [in] BSTR pDestAddress, [in] BSTR pCallerAddress ); [propget, id(3), helpstring("property ForwardTypeDestination")] HRESULT ForwardTypeDestination( [in] long ForwardType, [out, retval] BSTR * ppDestAddress ); [propget, id(4), helpstring("property ForwardTypeCaller")] HRESULT ForwardTypeCaller( [in] long Forwardtype, [out, retval] BSTR * ppCallerAddress ); [id(5),hidden] HRESULT GetForwardType( [in] long ForwardType, [out] BSTR * ppDestinationAddress, [out] BSTR * ppCallerAddress ); [id(6), helpstring("method Clear")] HRESULT Clear(); }
[ uuid( 5229B4ED-B260-4382-8E1A-5DF3A8A4CCC0 ), helpstring("TAPI 3.1 ITForwardInformation2 Interface"), dual ] interface ITForwardInformation2 : ITForwardInformation { [id(7), helpstring("method SetForwardType2")] HRESULT SetForwardType2( [in] long ForwardType, [in] BSTR pDestAddress, [in] long DestAddressType, [in] BSTR pCallerAddress, [in] long CallerAddressType ); [id(8),hidden] HRESULT GetForwardType2( [in] long ForwardType, [out] BSTR * ppDestinationAddress, [out] long * pDestAddressType, [out] BSTR * ppCallerAddress, [out] long * pCallerAddressType ); [propget, id(9), helpstring("property ForwardTypeDestinationAddressType")] HRESULT ForwardTypeDestinationAddressType( [in] long ForwardType, [out, retval] long * pDestAddressType ); [propget, id(10), helpstring("property ForwardTypeCallerAddressType")] HRESULT ForwardTypeCallerAddressType( [in] long Forwardtype, [out, retval] long * pCallerAddressType ); }
[ uuid( 0C4D8F03-8DDB-11d1-A09E-00805FC147D3 ), helpstring("TAPI 3.0 ITAddressTranslation Interface"), dual ] interface ITAddressTranslation : IDispatch {
[id(IDISPADDRESSTRANSLATION | 1), helpstring("method TranslateAddress")] HRESULT TranslateAddress( [in] BSTR pAddressToTranslate, [in] long lCard, [in] long lTranslateOptions, [out, retval] ITAddressTranslationInfo ** ppTranslated );
[ id(IDISPADDRESSTRANSLATION | 2), helpstring("method TranslateDialog")] HRESULT TranslateDialog( [in] TAPIHWND hwndOwner, [in] BSTR pAddressIn );
[id(IDISPADDRESSTRANSLATION | 3), hidden, helpstring("method EnumerateLocations")] HRESULT EnumerateLocations( [out, retval] IEnumLocation ** ppEnumLocation ); [propget, id(IDISPADDRESSTRANSLATION | 4), helpstring("property Locations")] HRESULT Locations( [out, retval] VARIANT * pVariant ); [id(IDISPADDRESSTRANSLATION | 5), hidden, helpstring("method EnumerateCallingCards")] HRESULT EnumerateCallingCards( [out, retval] IEnumCallingCard ** ppEnumCallingCard ); [propget, id(IDISPADDRESSTRANSLATION | 6), helpstring("property CallingCards")] HRESULT CallingCards( [out, retval] VARIANT * pVariant ); }
[ uuid( AFC15945-8D40-11d1-A09E-00805FC147D3 ), helpstring("TAPI 3.0 ITAddressTranslationInfo Interface"), dual ] interface ITAddressTranslationInfo : IDispatch { [propget, id(1), helpstring("property Dialable String")] HRESULT DialableString( [out, retval] BSTR * ppDialableString ); [propget, id(2), helpstring("property Displayable String")] HRESULT DisplayableString( [out, retval] BSTR * ppDisplayableString ); [propget, id(3), helpstring("property Current Country Code")] HRESULT CurrentCountryCode( [out, retval] long * CountryCode ); [propget, id(4), helpstring("property Destination Country Code")] HRESULT DestinationCountryCode( [out, retval] long * CountryCode ); [propget, id(5), helpstring("property Translation Results")] HRESULT TranslationResults( [out, retval] long * plResults ); }
[ uuid( 0C4D8EFF-8DDB-11d1-A09E-00805FC147D3 ), helpstring("TAPI 3.0 ITLocationInfo Interface"), dual ] interface ITLocationInfo : IDispatch { [propget, id(1), helpstring("property Permanent Location ID")] HRESULT PermanentLocationID( [out, retval] long * plLocationID ); [propget, id(2), helpstring("property Country Code")] HRESULT CountryCode( [out, retval] long * plCountryCode ); [propget, id(3), helpstring("property Country ID")] HRESULT CountryID( [out, retval] long * plCountryID ); [propget, id(4), helpstring("property Options")] HRESULT Options( [out, retval] long * plOptions ); [propget, id(5), helpstring("property Preferred Credit Card ID")] HRESULT PreferredCardID( [out, retval] long * plCardID ); [propget, id(6), helpstring("property Location Name")] HRESULT LocationName( [out, retval] BSTR * ppLocationName ); [propget, id(7), helpstring("property City/Area Code")] HRESULT CityCode( [out, retval] BSTR * ppCode ); [propget, id(8), helpstring("property Local Access Code")] HRESULT LocalAccessCode( [out, retval] BSTR * ppCode ); [propget, id(9), helpstring("property Long Distance Access Code")] HRESULT LongDistanceAccessCode( [out, retval] BSTR * ppCode ); [propget, id(10), helpstring("property Toll Prefix List")] HRESULT TollPrefixList( [out, retval] BSTR * ppTollList ); [propget, id(11), helpstring("property Cancel Call Waiting Code")] HRESULT CancelCallWaitingCode( [out, retval] BSTR * ppCode ); }
[ uuid( 0C4D8F01-8DDB-11d1-A09E-00805FC147D3 ), helpstring("TAPI 3.0 IEnumLocation interface"), hidden, pointer_default(unique) ] interface IEnumLocation : IUnknown {
HRESULT Next( [in] ULONG celt, [out] ITLocationInfo ** ppElements, [in,out,ptr] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumLocation ** ppEnum ); }
[ uuid( 0C4D8F00-8DDB-11d1-A09E-00805FC147D3 ), helpstring("TAPI 3.0 ITCallingCard Interface"), dual ] interface ITCallingCard : IDispatch { [propget, id(1), helpstring("property Permanent Card ID")] HRESULT PermanentCardID( [out, retval] long * plCardID ); [propget, id(2), helpstring("property Number Of Digits")] HRESULT NumberOfDigits( [out, retval] long * plDigits ); [propget, id(3), helpstring("property Options")] HRESULT Options( [out, retval] long * plOptions ); [propget, id(4), helpstring("property Card Name")] HRESULT CardName( [out, retval] BSTR * ppCardName ); [propget, id(5), helpstring("property Same Area Dialing Rule")] HRESULT SameAreaDialingRule( [out, retval] BSTR * ppRule ); [propget, id(6), helpstring("property Long Distance Dialing Rule")] HRESULT LongDistanceDialingRule( [out, retval] BSTR * ppRule ); [propget, id(7), helpstring("property International Dialing Rule")] HRESULT InternationalDialingRule( [out, retval] BSTR * ppRule ); }
[ uuid( 0C4D8F02-8DDB-11d1-A09E-00805FC147D3 ), helpstring("TAPI 3.0 IEnumCallingCard interface"), hidden, pointer_default(unique) ] interface IEnumCallingCard : IUnknown {
HRESULT Next( [in] ULONG celt, [out] ITCallingCard ** ppElements, [in,out,ptr] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumCallingCard ** ppEnum ); }
[ uuid( 895801DF-3DD6-11d1-8F30-00C04FB6809F ), helpstring("TAPI 3.0 ITCallNotificationEvent interface"), dual ]
interface ITCallNotificationEvent : IDispatch { [propget, id(1), helpstring("property Call")] HRESULT Call( [out,retval] ITCallInfo ** ppCall );
[propget, id(2), helpstring("property Event")] HRESULT Event( [out,retval] CALL_NOTIFICATION_EVENT * pCallNotificationEvent );
[propget, id(3), helpstring("property CallbackInstance")] HRESULT CallbackInstance( [out, retval] long * plCallbackInstance );
}
[ uuid( E9225295-C759-11d1-A02B-00C04FB6809F ), helpstring("TAPI 3.0 ITDispatchMapper interface") ] interface ITDispatchMapper : IDispatch { [id(1), helpstring("QueryDispatchInterface")] HRESULT QueryDispatchInterface( [in] BSTR pIID, [in] IDispatch * pInterfaceToMap, [out, retval] IDispatch ** ppReturnedInterface ); }
[ uuid( EE3BD604-3868-11D2-A045-00C04FB6809F ), helpstring( "ITStreamControl interface" ), pointer_default(unique), dual ] interface ITStreamControl : IDispatch { [id(IDISPAGGREGATEDMSPCALLOBJ | 1), helpstring("method CreateStream")] HRESULT CreateStream( [in] long lMediaType, [in] TERMINAL_DIRECTION td, [out, retval] ITStream ** ppStream );
[id(IDISPAGGREGATEDMSPCALLOBJ | 2), helpstring("method RemoveStream")] HRESULT RemoveStream( [in] ITStream * pStream );
[id(IDISPAGGREGATEDMSPCALLOBJ | 3), hidden] HRESULT EnumerateStreams( [out] IEnumStream ** ppEnumStream );
[propget, id(IDISPAGGREGATEDMSPCALLOBJ | 4), helpstring("property Streams")] HRESULT Streams( [out, retval] VARIANT * pVariant );
}
[ uuid( EE3BD605-3868-11D2-A045-00C04FB6809F ), helpstring( "ITStream interface" ), pointer_default(unique), dual ] interface ITStream : IDispatch { [propget, id(1), helpstring("property MediaType")] HRESULT MediaType( [out, retval] long * plMediaType );
[propget, id(2), helpstring("property Direction")] HRESULT Direction( [out, retval] TERMINAL_DIRECTION * pTD );
[propget, id(3), helpstring("property Name")] HRESULT Name( [out, retval] BSTR * ppName );
[id(4), helpstring("method StartStream")] HRESULT StartStream(void);
[id(5), helpstring("method PauseStream")] HRESULT PauseStream(void);
[id(6), helpstring("method StopStream")] HRESULT StopStream(void);
[id(7), helpstring("method SelectTerminal")] HRESULT SelectTerminal( [in] ITTerminal * pTerminal );
[id(8), helpstring("method UnselectTerminal")] HRESULT UnselectTerminal( [in] ITTerminal * pTerminal );
[id(9), hidden] HRESULT EnumerateTerminals( [out] IEnumTerminal ** ppEnumTerminal );
[propget, id(10), helpstring("property Terminals")] HRESULT Terminals( [out, retval] VARIANT * pTerminals ); }
[ uuid( EE3BD606-3868-11d2-A045-00C04FB6809F ), helpstring( "IEnumStream interface" ), hidden, pointer_default(unique) ] interface IEnumStream : IUnknown { HRESULT Next( [in] ULONG celt, [out] ITStream ** ppElements, [in,out,ptr] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumStream ** ppEnum );
}
[ uuid( EE3BD607-3868-11D2-A045-00C04FB6809F ), helpstring( "ITSubStreamControl interface" ), pointer_default(unique), dual ] interface ITSubStreamControl : IDispatch { [id(1), helpstring("method CreateSubStream")] HRESULT CreateSubStream( [out, retval] ITSubStream ** ppSubStream );
[id(2), helpstring("method RemoveSubStream")] HRESULT RemoveSubStream( [in] ITSubStream * pSubStream );
[id(3), hidden] HRESULT EnumerateSubStreams( [out] IEnumSubStream ** ppEnumSubStream );
[propget, id(4), helpstring("property SubStreams")] HRESULT SubStreams( [out, retval] VARIANT * pVariant );
}
[ uuid( EE3BD608-3868-11D2-A045-00C04FB6809F ), helpstring( "ITSubStream interface" ), pointer_default(unique), dual ] interface ITSubStream : IDispatch { [id(1), helpstring("method StartStream")] HRESULT StartSubStream(void);
[id(2), helpstring("method PauseStream")] HRESULT PauseSubStream(void);
[id(3), helpstring("method StopStream")] HRESULT StopSubStream(void);
[id(4), helpstring("method SelectTerminal")] HRESULT SelectTerminal( [in] ITTerminal * pTerminal );
[id(5), helpstring("method UnselectTerminal")] HRESULT UnselectTerminal( [in] ITTerminal * pTerminal );
[id(6), hidden] HRESULT EnumerateTerminals( [out] IEnumTerminal ** ppEnumTerminal );
[propget, id(7), helpstring("property Terminals")] HRESULT Terminals( [out, retval] VARIANT * pTerminals );
[propget, id(8), helpstring("property Stream")] HRESULT Stream( [out, retval] ITStream ** ppITStream ); }
[ uuid( EE3BD609-3868-11d2-A045-00C04FB6809F ), helpstring( "IEnumSubStream interface" ), hidden, pointer_default(unique) ] interface IEnumSubStream : IUnknown { HRESULT Next( [in] ULONG celt, [out] ITSubStream ** ppElements, [in,out,ptr] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumSubStream ** ppEnum );
}
[ uuid( 207823EA-E252-11d2-B77E-0080C7135381 ), helpstring("ITLegacyWaveSupport"), dual ] interface ITLegacyWaveSupport : IDispatch { HRESULT IsFullDuplex( [out] FULLDUPLEX_SUPPORT * pSupport ); }
[ uuid(161A4A56-1E99-4b3f-A46A-168F38A5EE4C ), helpstring("TAPI 3.0 ITBasicCallControl2 interface"), dual ] interface ITBasicCallControl2 : ITBasicCallControl { [id(IDISPBASICCALLCONTROL | 23), helpstring("method RequestTerminal")] HRESULT RequestTerminal( [in] BSTR bstrTerminalClassGUID, [in] long lMediaType, [in] TERMINAL_DIRECTION Direction, [out, retval] ITTerminal ** ppTerminal );
[id(IDISPBASICCALLCONTROL | 24), helpstring("method SelectTerminalOnCall")] HRESULT SelectTerminalOnCall( [in] ITTerminal *pTerminal );
[id(IDISPBASICCALLCONTROL | 25), helpstring("method UnselectTerminalOnCall")] HRESULT UnselectTerminalOnCall( [in] ITTerminal *pTerminal ); }
[ uuid( B87658BD-3C59-4f64-BE74-AEDE3E86A81E ), helpstring("TAPI 3.0 ITScriptableAudioFormat Interface"), dual ] interface ITScriptableAudioFormat : IDispatch { [propget, id(1), helpstring("property Channels")] HRESULT Channels( [out, retval] long* pVal );
[propput, id(1), helpstring("property Channels")] HRESULT Channels( [in] const long nNewVal );
[propget, id(2), helpstring("property SamplesPerSec")] HRESULT SamplesPerSec( [out, retval] long* pVal );
[propput, id(2), helpstring("property SamplesPerSec")] HRESULT SamplesPerSec( [in] const long nNewVal );
[propget, id(3), helpstring("property AvgBytesPerSec")] HRESULT AvgBytesPerSec( [out, retval] long* pVal );
[propput, id(3), helpstring("property AvgBytesPerSec")] HRESULT AvgBytesPerSec( [in] const long nNewVal );
[propget, id(4), helpstring("property BlockAlign")] HRESULT BlockAlign( [out, retval] long* pVal );
[propput, id(4), helpstring("property BlockAlign")] HRESULT BlockAlign( [in] const long nNewVal );
[propget, id(5), helpstring("property BitsPerSample")] HRESULT BitsPerSample( [out, retval] long* pVal );
[propput, id(5), helpstring("property BitsPerSample")] HRESULT BitsPerSample( [in] const long nNewVal );
[propget, id(6), helpstring("property FormatTag")] HRESULT FormatTag( [out, retval] long* pVal );
[propput, id(6), helpstring("property FormatTag")] HRESULT FormatTag( [in] const long nNewVal );
};
cpp_quote("/****************************************") cpp_quote(" * Terminal Classes") cpp_quote(" ****************************************/") cpp_quote("") cpp_quote("// Video Windows - {F7438990-D6EB-11d0-82A6-00AA00B5CA1B}") cpp_quote("EXTERN_C const CLSID CLSID_VideoWindowTerm;") cpp_quote("") cpp_quote("// Video input (camera) {AAF578EC-DC70-11d0-8ED3-00C04FB6809F}") cpp_quote("EXTERN_C const CLSID CLSID_VideoInputTerminal;") cpp_quote("") cpp_quote("// Handset device {AAF578EB-DC70-11d0-8ED3-00C04FB6809F}") cpp_quote("EXTERN_C const CLSID CLSID_HandsetTerminal;") cpp_quote("") cpp_quote("// Headset device {AAF578ED-DC70-11d0-8ED3-00C04FB6809F}") cpp_quote("EXTERN_C const CLSID CLSID_HeadsetTerminal;") cpp_quote("") cpp_quote("// Speakerphone device {AAF578EE-DC70-11d0-8ED3-00C04FB6809F}") cpp_quote("EXTERN_C const CLSID CLSID_SpeakerphoneTerminal;") cpp_quote("") cpp_quote("// Microphone (sound card) {AAF578EF-DC70-11d0-8ED3-00C04FB6809F}") cpp_quote("EXTERN_C const CLSID CLSID_MicrophoneTerminal;") cpp_quote("") cpp_quote("// Speakers (sound card) {AAF578F0-DC70-11d0-8ED3-00C04FB6809F}") cpp_quote("EXTERN_C const CLSID CLSID_SpeakersTerminal;") cpp_quote("") cpp_quote("// Media stream terminal {E2F7AEF7-4971-11D1-A671-006097C9A2E8}") cpp_quote("EXTERN_C const CLSID CLSID_MediaStreamTerminal;") cpp_quote("") cpp_quote("// File Recording terminal {521F3D06-C3D0-4511-8617-86B9A783DA77}") cpp_quote("EXTERN_C const CLSID CLSID_FileRecordingTerminal;") cpp_quote("") cpp_quote("// File Recording Track {BF14A2E4-E88B-4ef5-9740-5AC5D022F8C9}") cpp_quote("EXTERN_C const CLSID CLSID_FileRecordingTrack;") cpp_quote("") cpp_quote("// File Playback Terminal {0CB9914C-79CD-47dc-ADB0-327F47CEFB20}") cpp_quote("EXTERN_C const CLSID CLSID_FilePlaybackTerminal;") cpp_quote("") cpp_quote("// define the media modes") cpp_quote("#define TAPIMEDIATYPE_AUDIO 0x8") cpp_quote("#define TAPIMEDIATYPE_VIDEO 0x8000") cpp_quote("#define TAPIMEDIATYPE_DATAMODEM 0x10") cpp_quote("#define TAPIMEDIATYPE_G3FAX 0x20") cpp_quote("#define TAPIMEDIATYPE_MULTITRACK 0x10000") cpp_quote("") cpp_quote("// {831CE2D6-83B5-11d1-BB5C-00C04FB6809F}") cpp_quote("EXTERN_C const CLSID TAPIPROTOCOL_PSTN;") cpp_quote("") cpp_quote("// {831CE2D7-83B5-11d1-BB5C-00C04FB6809F}") cpp_quote("EXTERN_C const CLSID TAPIPROTOCOL_H323;") cpp_quote("") cpp_quote("// {831CE2D8-83B5-11d1-BB5C-00C04FB6809F}") cpp_quote("EXTERN_C const CLSID TAPIPROTOCOL_Multicast;") cpp_quote("") cpp_quote("#define __TapiConstants_MODULE_DEFINED__")
#endif // __TAPI3IF_IDL__
|