tapi3if.h header

This header is used by Telephony Application Programming Interfaces. For more information, see:

tapi3if.h contains the following programming interfaces:

Interfaces

 
IEnumAddress

The IEnumAddress interface provides COM-standard enumeration methods for the ITAddress interface. The ITTAPI::EnumerateAddresses and ITAgentHandler::EnumerateUsableAddresses methods return a pointer to IEnumAddress.
IEnumBstr

The IEnumBstr interface provides COM-standard methods to enumerate BSTR strings.
IEnumCall

The IEnumCall interface provides COM-standard enumeration methods for the ITCallInfo interface. The ITCallHub::EnumerateCalls and ITAddress::EnumerateCalls methods return a pointer to IEnumCall.
IEnumCallHub

The IEnumCallHub interface provides COM-standard enumeration methods for the ITCallHub interface. The ITTAPI::EnumerateCallHubs method returns a pointer to IEnumCallHub.
IEnumCallingCard

The IEnumCallingCard interface provides COM-standard enumeration methods for the ITCallingCard interface. The ITAddressTranslation::EnumerateCallingCards method returns a pointer to IEnumCallingCard.
IEnumLocation

The IEnumLocation interface provides COM-standard enumeration methods for the ITLocationInfo interface. The ITAddressTranslation::EnumerateLocations method returns a pointer to IEnumLocation.
IEnumPhone

The IEnumPhone interface provides COM-standard enumeration methods for the ITPhone interface. The ITAddress2::EnumeratePhones and ITTAPI2::EnumeratePhones methods return a pointer to IEnumPhone.
IEnumPluggableSuperclassInfo

The IEnumPluggableSuperclassInfo interface provides COM-standard enumeration methods for the ITPluggableTerminalSuperclassInfo interface. The ITTerminalSupport2::EnumeratePluggableSuperclasses method returns a pointer to IEnumPluggableSuperclassInfo.
IEnumPluggableTerminalClassInfo

The IEnumPluggableTerminalClassInfo interface provides COM-standard enumeration methods for the ITPluggableTerminalClassInfo interface. The ITTerminalSupport2::EnumeratePluggableTerminalClasses method returns a pointer to IEnumPluggableTerminalClassInfo.
IEnumStream

The IEnumStream interface provides COM-standard enumeration methods for the ITStream interface. The ITStreamControl::EnumerateStreams and ITParticipant::EnumerateStreams methods return a pointer to IEnumStream.
IEnumSubStream

The IEnumSubStream interface provides COM-standard enumeration methods for the ITSubStream interface. The ITSubStreamControl::EnumerateSubStreams method returns a pointer to IEnumSubStream.
IEnumTerminal

The IEnumTerminal interface provides COM-standard enumeration methods for the ITTerminal interface.
IEnumTerminalClass

The IEnumTerminalClass interface provides COM-standard enumeration methods to discover and use the dynamic terminal classes that are available. The ITTerminalSupport::EnumerateDynamicTerminalClasses method returns a pointer to this interface.
ITAddress

The ITAddress interface is the base interface for the Address object. Applications use this interface to get information about and use the Address object.
ITAddress2

The ITAddress2 interface derives from the ITAddress interface. ITAddress2 adds methods to the Address object in order to support phone devices. All Address objects enumerated from TAPI 3.1 automatically implement this interface.
ITAddressCapabilities

The ITAddressCapabilities interface is used to obtain information about an address's capabilities. It is on the Address object, and an application can access it by calling QueryInterface on the Address object.
ITAddressDeviceSpecificEvent

The ITAddressDeviceSpecificEvent exposes methods that allow an application to retrieve information about a device-specific event.
ITAddressEvent

The ITAddressEvent interface contains methods that retrieve the description of address events.
ITAddressTranslation

The ITAddressTranslation interface provides methods that allow translation of a calling address into a different format. For example, an application may need to translate an address from canonical to dialable prior to making a call.
ITAddressTranslationInfo

Used to determine the address translation data.
ITASRTerminalEvent

The ITASRTerminalEvent interface contains methods that retrieve the description of Automatic Speech Recognition terminal events that have occurred.
ITAutomatedPhoneControl

The ITAutomatedPhoneControl is a fully OLE automatable and scriptable interface exposed by the TAPI phone object.
ITBasicAudioTerminal

The ITBasicAudioTerminal interface provides methods that allow an application to control basic sound characteristics of terminal.
ITBasicCallControl

The ITBasicCallControl interface is used by the application to connect, answer, and perform basic telephony operations on a call object.
ITBasicCallControl2

The ITBasicCallControl2 interface is an extension of the ITBasicCallControl interface.
ITCallHub

The ITCallHub interface provides methods to retrieve information concerning a CallHub object. The IEnumCallHub::Next and ITTapi::get_CallHubs methods create the ITCallHub interface.
ITCallHubEvent

The ITCallHubEvent interface contains methods that retrieve the description of CallHub events.
ITCallInfo

The ITCallInfo interface gets and sets a variety of information concerning a Call object. The ITAddress::get_Calls and IEnumCall::Next methods create the ITCallInfo interface.
ITCallInfo2

The ITCallInfo2 interface is an extension of the ITCallInfo interface. ITCallInfo2 provides additional methods that allow an application to set event filtering on a per-call basis.
ITCallInfoChangeEvent

The ITCallInfoChangeEvent interface contains methods that retrieve the description of call information change events.
ITCallingCard

The ITCallingCard interface provides methods to retrieve information concerning telephony calling cards.
ITCallMediaEvent

The ITCallMediaEvent interface contains methods that retrieve the description of media events.
ITCallNotificationEvent

The ITCallNotificationEvent interface contains methods that retrieve the description of call notification events.
ITCallStateEvent

The ITCallStateEvent interface contains methods that retrieve the description of call state events.
ITCollection

The ITCollection interface allows Automation client applications, such as those written in Visual Basic, to retrieve collection information.
ITCollection2

The ITCollection2 interface is an extension of the ITCollection interface. ITCollection2 exposes additional methods for modifying the collection.
ITCustomTone

The ITCustomTone interface exposes methods that allow detailed control over the custom tones that are available with some phone sets.
ITDetectTone

The ITDetectTone interface exposes methods that allow an application to specify the tones and tone characteristics that should cause the TAPI Server to generate a tone event.
ITDigitDetectionEvent

The ITDigitDetectionEvent interface contains methods that retrieve the description of DTMF digit events.
ITDigitGenerationEvent

The ITDigitGenerationEvent interface contains methods that describe digit generation events.
ITDigitsGatheredEvent

The ITDigitsGatheredEvent interface exposes methods that allow an application to retrieve data when the TAPI Server sends an event indicating that the Server has gathered digits required by the application.
ITDispatchMapper

The ITDispatchMapper interface allows an application to retrieve the dispatch pointer of another interface on an object, given the dispatch pointer of one interface and the GUID of another.
ITFileTerminalEvent

The ITFileTerminalEvent interface contains methods that retrieve the description of file terminal events that have occurred.
ITFileTrack

The ITFileTrack interface exposes methods that allow an application to get and set information concerning file terminal tracks. The ITFileTerminalEvent::get_Track method creates the ITFileTrack interface.
ITForwardInformation

The ITForwardInformation interface provides methods for setup and implementation of call forwarding.
ITForwardInformation2

The ITForwardInformation2 interface exposes methods that provide additional methods for the control of forwarding information. See ITForwardInformation for the basic forwarding control methods.
ITLegacyAddressMediaControl

The ITLegacyAddressMediaControl interface is provided to support legacy applications that require direct access to a device and its configuration. It is exposed by the Address Object and can be created by calling QueryInterface on ITAddress.
ITLegacyAddressMediaControl2

The ITLegacyAddressMediaControl2 interface derives from the ITLegacyAddressMediaControl interface. ITLegacyAddressMediaControl2 provides additional methods that allow the configuration of parameters related to line devices.
ITLegacyCallMediaControl

The ITLegacyCallMediaControl interface supports legacy applications that must communicate directly with a device. This interface is exposed on the Call Object and can be created by calling QueryInterface on ITBasicCallControl.
ITLegacyCallMediaControl2

The ITLegacyCallMediaControl2 interface is an extension of the ITLegacyCallMediaControl interface. ITLegacyCallMediaControl2 provides additional methods, primarily for tone detection and generation.
ITLegacyWaveSupport

The ITLegacyWaveSupport interface allows an application to discover whether a terminal created by a legacy TSP (pre-TAPI 3) can be controlled using the Wave API.
ITLocationInfo

The ITLocationInfo interface is used to get information related to the location of the calling party. This is the location information that is entered by using the Telephony applet under the Control Panel.
ITMediaControl

The ITMediaControl interface is a generic interface for media file terminals. The interface exposes methods that allow the application to start, stop, or pause current actions, such as a playback.
ITMediaPlayback

The ITMediaPlayback interface provides playback-specific methods that allow an application to set and get the list of files to play. This interface is created by calling QueryInterface on ITTerminal.
ITMediaRecord

The ITMediaRecord interface provides recording-specific methods that allow an application to set and get the names of files to record.
ITMediaSupport

The ITMediaSupport interface provides methods that allow an application to discover the media support capabilities for an Address Object that exposes this interface.
ITMultiTrackTerminal

This ITMultiTrackTerminal interface is exposed on all multitrack terminals. The interface includes methods for enumerating, creating, and removing tracks. The ITMultiTrackTerminal interface is created by calling QueryInterface on ITTerminal.
ITPhone

The ITPhone interface is the main interface for the new Phone objects in the TAPI 3.1 object model.
ITPhoneDeviceSpecificEvent

The ITPhoneDeviceSpecificEvent exposes methods that allow an application to retrieve information about a phone device-specific event.
ITPhoneEvent

The ITPhoneEvent interface contains methods that retrieve the description of phone events that have occurred.
ITPluggableTerminalClassInfo

The ITPluggableTerminalClassInfo interface exposes methods that allow the application to retrieve information concerning a pluggable terminal.
ITPluggableTerminalSuperclassInfo

The ITPluggableTerminalSuperclassInfo interface exposes methods that get the name and CLSID of a pluggable terminal class.
ITPrivateEvent

The ITPrivateEvent interface exposes methods that allows an application to process events generated by a private object.
ITQOSEvent

The ITQOSEvent interface contains methods that retrieve the description of quality of service (QOS) events.
ITRequest

The ITRequest interface allows an application to use Assisted Telephony. Assisted Telephony provides telephony-enabled applications with a simple mechanism for making phone calls without requiring the developer to become fully literate in telephony.
ITRequestEvent

The ITRequestEvent interface contains methods that allow an application to receive and process Assisted Telephony request events.
ITScriptableAudioFormat

The ITScriptableAudioFormat interface is used by scriptable clients to get the audio format from, or set the audio format for, the track. The interface provides properties for each member from the WAVEFORMATEX structure.
ITStaticAudioTerminal

The ITStaticAudioTerminal interface is an interface that TAPI 3.1 MSPs must expose on all static audio terminals. The interface defines methods on static audio terminal objects that are needed to support phone devices.
ITStream

The ITStream interfaces expose methods that allow an application to retrieve information on a stream; to start, pause, or stop the stream; to select or unselect terminals on a stream; and to obtain a list of terminals selected on the stream.
ITStreamControl

The ITStreamControl interface represents the media streaming features of a call and exposes methods that allow an application to enumerate, create, or remove streams.
ITSubStream

An ITSubStream is a component of an ITStream, and gives an application finer control over the media streaming.
ITSubStreamControl

The ITSubStreamControl interface exposes methods that allow an application to enumerate, create, or remove substreams. Many MSPs do not support this interface.
ITTAPI

The ITTAPI interface is the base interface for the TAPI object. The TAPI object is created by CoCreateInstance. For information on CoCreateInstance, see documentation on COM. All other TAPI 3 objects are created by TAPI 3 itself.
ITTAPI2

The ITTAPI2 interface derives from the ITTAPI interface. It adds additional methods on the TAPI object to support phone devices.
ITTAPIEventNotification

The ITTAPIEventNotification interface is an outgoing interface that allows an application to control the processing of event information.
ITTAPIObjectEvent

The ITTAPIObjectEvent interface contains methods that retrieve the description of TAPI object events.
ITTAPIObjectEvent2

The ITTAPIObjectEvent2 interface is an extension of the ITTAPIObjectEvent interface. ITTAPIObjectEvent2 exposes an additional method that returns a pointer to an ITPhone interface on the phone object that caused the TAPI object event.
ITTerminal

The ITTerminal interface is the base interface for a Terminal object.
ITTerminalSupport

The ITTerminalSupport interface is exposed on an Address object only if an MSP exists. The methods of this interface allow an application to discover available terminals and/or create one, and get pointers to required Terminal objects.
ITTerminalSupport2

The ITTerminalSupport2 interface is derived from the ITTerminalSupport interface. ITTerminalSupport2 supports the retrieval of information about pluggable terminal classes and superclasses by C, C++, and scripting applications.
ITToneDetectionEvent

The ITToneDetectionEvent interface exposes methods that allow an application to retrieve information about a tone detection event.
ITToneTerminalEvent

The ITToneTerminalEvent interface contains methods that retrieve the description of tone terminal events that have occurred.
ITTTSTerminalEvent

The ITTTSTerminalEvent interface contains methods that retrieve the description of Text-to-Speech (TTS) terminal events that have occurred.

Structures

 
TAPI_CUSTOMTONE

The TAPI_CUSTOMTONE structure contains the parameters that define a custom tone.
TAPI_DETECTTONE

The TAPI_DETECTTONE structure describes a tone to be monitored. This is used as an entry in an array.

Enumerations

 
ADDRESS_CAPABILITY

A member of the ADDRESS_CAPABILITY enum is used by the ITAddressCapabilities::get_AddressCapability method to indicate the address capability required.
ADDRESS_CAPABILITY_STRING

The ADDRESS_CAPABILITY_STRING enum is used to check on address capabilities which are described by strings.
ADDRESS_EVENT

The ADDRESS_EVENT enum describes address events. The ITAddressEvent::get_Event method returns a member of this enum to indicate the type of address event that occurred.
ADDRESS_STATE

The ADDRESS_STATE enum is used by the ITAddress::get_State method to check the address state.
CALL_MEDIA_EVENT

The CALL_MEDIA_EVENT enum describes call media events. The ITCallMediaEvent::get_Event method returns a member of this enum to indicate the type of call media event that occurred.
CALL_MEDIA_EVENT_CAUSE

The CALL_MEDIA_EVENT_CAUSE enum is used by ITCallMediaEvent::get_Cause method to return a description of what caused a media event, such as a device timeout.
CALL_NOTIFICATION_EVENT

The CALL_NOTIFICATION_EVENT enum describes call notification events. The ITCallNotificationEvent::get_Event method returns a member of this enum to indicate the type of call notification event that occurred.
CALL_PRIVILEGE

A CALL_PRIVILEGE member is returned by the ITCallInfo::get_Privilege method, and indicates when the current application owns or is monitoring the current call.
CALL_STATE

The CALL_STATE enum is used by the ITCallInfo::get_CallState and ITCallStateEvent::get_State methods.
CALL_STATE_EVENT_CAUSE

The CALL_STATE_EVENT_CAUSE enum is returned by the ITCallStateEvent::get_Cause method.
CALLHUB_EVENT

The CALLHUB_EVENT enum describes CallHub events. The ITCallHubEvent::get_Event method returns a member of this enum to indicate the type of CallHub event that occurred.
CALLHUB_STATE

The CALLHUB_STATE enum is a state indicator returned by the ITCallHub::get_State method.
CALLINFO_BUFFER

The CALLINFO_BUFFER enum indicates the type of buffer accessed by the ITCallInfo::GetCallInfoBuffer method or the ITCallInfo::SetCallInfoBuffer method.
CALLINFO_LONG

The CALLINFO_LONG enum is used by ITCallInfo methods that set and get call information of type LONG.
CALLINFO_STRING

The CALLINFO_STRING enum is used by ITCallInfo methods that set and get call information involving the use of strings.
CALLINFOCHANGE_CAUSE

The CALLINFOCHANGE_CAUSE enum is used by the ITCallInfoChangeEvent::get_Cause method to return a description of the type of call information that has changed.
DISCONNECT_CODE

The DISCONNECT_CODE enum is used by the ITBasicCallControl::Disconnect method.
FINISH_MODE

The FINISH_MODE enum is used by applications to indicate the type of call finish required. Operations that the TAPI DLL performs vary depending on whether a call transfer is being completed or a call is being added to a conference.
FT_STATE_EVENT_CAUSE

The FT_STATE_EVENT_CAUSE enum indicates the type of file terminal event.
FULLDUPLEX_SUPPORT

The FULLDUPLEX_SUPPORT enum is used by applications interacting with legacy TSPs to indicate whether a specified terminal supports full duplex operations. This enum is returned by the ITLegacyWaveSupport::IsFullDuplex method.
PHONE_BUTTON_FUNCTION

The PHONE_BUTTON_FUNCTION enum provides detailed information on a button's function.
PHONE_BUTTON_MODE

The PHONE_BUTTON_MODE enum describes the mode of a phone button.
PHONE_BUTTON_STATE

The PHONE_BUTTON_STATE enum describes the state of a phone button.
PHONE_EVENT

The PHONE_EVENT enum indicates a type of phone event.
PHONE_HOOK_SWITCH_DEVICE

The PHONE_HOOK_SWITCH_DEVICE enum is used to indicate the types of switch hooks on a phone device.
PHONE_HOOK_SWITCH_STATE

The PHONE_HOOK_SWITCH_STATE enum provides indicators of the phone hookswitch status.
PHONE_LAMP_MODE

The PHONE_LAMP_MODE enum provides indicators of a phone lamp's status.
PHONE_PRIVILEGE

The PHONE_PRIVILEGE enum indicates the application's privilege status with respect to the current phone device.
PHONE_TONE

The PHONE_TONE enum identifies a phone tone.
PHONECAPS_BUFFER

The PHONECAPS_BUFFER enum is used by methods that set or get phone capabilities described by a buffer.
PHONECAPS_LONG

The PHONECAPS_LONG enum is used by methods that set or get phone capabilities described by a long value.
PHONECAPS_STRING

The PHONECAPS_STRING enum is used by methods that set or get phone capabilities described by a string.
QOS_EVENT

The QOS_EVENT enum describes quality of service (QOS) events. The ITQOSEvent::get_Event method returns a member of this enum to indicate the type of QOS event that occurred.
QOS_SERVICE_LEVEL

The QOS_SERVICE_LEVEL enum is used by the ITBasicCallControl::SetQOS method to indicate quality of service requirements for a call.
TAPI_EVENT

Used to notify an application that a change has occurred in the TAPI object.
TAPI_GATHERTERM

The TAPI_GATHERTERM enum is used to describe the reasons why the TAPI Server terminated the gathering of digits on the call.
TAPI_OBJECT_TYPE

The TAPI_OBJECT_TYPE enum is used to indicate the type of TAPI object involved in an event.
TAPI_TONEMODE

The TAPI_TONEMODE enum is used to describe the different selections that are used when generating line tones.
TAPIOBJECT_EVENT

The TAPIOBJECT_EVENT enum describes TAPI object events. The ITTAPIObjectEvent::get_Event method returns a member of this enum to indicate the type of TAPI object event that occurred.
TERMINAL_DIRECTION

The TERMINAL_DIRECTION enumeration is used to describe the direction of the media stream with respect to the local computer or the directional capabilities of a terminal.
TERMINAL_MEDIA_STATE

The TERMINAL_MEDIA_STATE enum indicates the state of a file terminal.
TERMINAL_STATE

The TERMINAL_STATE enum describes the current state of a terminal device. This enum is returned by the ITTerminal::get_State method.
TERMINAL_TYPE

The TERMINAL_TYPE enum describes the type of the terminal. This enum is returned by the ITTerminal::get_TerminalType method.