1715 lines
44 KiB
C
1715 lines
44 KiB
C
/*++ BUILD Version: 0000 // Increment this if a change has global effects
|
|
|
|
The Telephony API is jointly copyrighted by Intel and Microsoft. You are
|
|
granted a royalty free worldwide, unlimited license to make copies, and use
|
|
the API/SPI for making applications/drivers that interface with the
|
|
specification provided that this paragraph and the Intel/Microsoft copyright
|
|
statement is maintained as is in the text and source code files.
|
|
|
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
Portions copyright 1992, 1993 Intel/Microsoft, all rights reserved.
|
|
|
|
Module Name:
|
|
|
|
tspi.h
|
|
|
|
Notes:
|
|
|
|
Additions to the Telephony Service Provider Interface (TSPI) since
|
|
version 1.0 are noted by version number (i.e. "TSPI v1.4").
|
|
|
|
--*/
|
|
|
|
#ifndef TSPI_H
|
|
#define TSPI_H
|
|
|
|
|
|
#include <windows.h>
|
|
|
|
#include "tapi.h"
|
|
|
|
|
|
#if WIN32
|
|
#if TAPI_CURRENT_VERSION < 0x00020000
|
|
#error Building a 32bit 1.3 or 1.4 service provider is not supported.
|
|
#endif
|
|
#endif
|
|
|
|
|
|
// tspi.h is only of use in conjunction with tapi.h. Very few types are
|
|
// defined in tspi.h. Most types of procedure formal parameters are simply
|
|
// passed through from corresponding procedures in tapi.h. A working knowledge
|
|
// of the TAPI interface is required for an understanding of this interface.
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" { /* Assume C declarations for C++ */
|
|
#endif /* __cplusplus */
|
|
|
|
#ifndef DECLARE_OPAQUE
|
|
#define DECLARE_OPAQUE(name) struct name##__ { int unused; }; \
|
|
typedef const struct name##__ FAR* name
|
|
#endif // DECLARE_OPAQUE
|
|
|
|
#ifndef TSPIAPI
|
|
|
|
#define TSPIAPI PASCAL
|
|
|
|
#endif
|
|
|
|
DECLARE_OPAQUE(HDRVCALL);
|
|
DECLARE_OPAQUE(HDRVLINE);
|
|
DECLARE_OPAQUE(HDRVPHONE);
|
|
DECLARE_OPAQUE(HDRVMSPLINE);
|
|
DECLARE_OPAQUE(HDRVDIALOGINSTANCE);
|
|
|
|
typedef HDRVCALL FAR * LPHDRVCALL;
|
|
typedef HDRVLINE FAR * LPHDRVLINE;
|
|
typedef HDRVPHONE FAR * LPHDRVPHONE;
|
|
typedef HDRVDIALOGINSTANCE FAR * LPHDRVDIALOGINSTANCE;
|
|
typedef HDRVMSPLINE FAR * LPHDRVMSPLINE;
|
|
|
|
DECLARE_OPAQUE(HTAPICALL);
|
|
DECLARE_OPAQUE(HTAPILINE);
|
|
DECLARE_OPAQUE(HTAPIPHONE);
|
|
|
|
DECLARE_OPAQUE32(HTAPIDIALOGINSTANCE);
|
|
DECLARE_OPAQUE32(HTAPIMSPLINE);
|
|
|
|
typedef HTAPICALL FAR * LPHTAPICALL;
|
|
typedef HTAPILINE FAR * LPHTAPILINE;
|
|
typedef HTAPIPHONE FAR * LPHTAPIPHONE;
|
|
typedef HTAPIDIALOGINSTANCE FAR * LPHTAPIDIALOGINSTANCE;
|
|
typedef HTAPIMSPLINE FAR * LPHTAPIMSPLINE;
|
|
|
|
|
|
DECLARE_OPAQUE(HPROVIDER);
|
|
typedef HPROVIDER FAR * LPHPROVIDER;
|
|
|
|
typedef DWORD DRV_REQUESTID;
|
|
|
|
typedef void (CALLBACK * ASYNC_COMPLETION)(
|
|
DRV_REQUESTID dwRequestID,
|
|
LONG lResult
|
|
);
|
|
|
|
typedef void (CALLBACK * LINEEVENT)(
|
|
HTAPILINE htLine,
|
|
HTAPICALL htCall,
|
|
DWORD dwMsg,
|
|
DWORD_PTR dwParam1,
|
|
DWORD_PTR dwParam2,
|
|
DWORD_PTR dwParam3
|
|
);
|
|
|
|
typedef void (CALLBACK * PHONEEVENT)(
|
|
HTAPIPHONE htPhone,
|
|
DWORD dwMsg,
|
|
DWORD_PTR dwParam1,
|
|
DWORD_PTR dwParam2,
|
|
DWORD_PTR dwParam3
|
|
);
|
|
|
|
typedef LONG (CALLBACK * TUISPIDLLCALLBACK)(
|
|
DWORD_PTR dwObjectID,
|
|
DWORD dwObjectType,
|
|
LPVOID lpParams,
|
|
DWORD dwSize
|
|
);
|
|
|
|
#if TAPI_CURRENT_VERSION >= 0x00020000
|
|
typedef struct tuispicreatedialoginstanceparams_tag
|
|
{
|
|
DRV_REQUESTID dwRequestID;
|
|
|
|
HDRVDIALOGINSTANCE hdDlgInst;
|
|
|
|
HTAPIDIALOGINSTANCE htDlgInst;
|
|
|
|
LPCWSTR lpszUIDLLName;
|
|
|
|
LPVOID lpParams;
|
|
|
|
DWORD dwSize;
|
|
|
|
} TUISPICREATEDIALOGINSTANCEPARAMS, *LPTUISPICREATEDIALOGINSTANCEPARAMS;
|
|
#endif
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00030000)
|
|
|
|
#define LINEQOSSTRUCT_KEY ((DWORD)'LQSK')
|
|
|
|
typedef struct LINEQOSSERVICELEVEL_tag
|
|
{
|
|
DWORD dwMediaMode;
|
|
|
|
DWORD dwQOSServiceLevel;
|
|
|
|
} LINEQOSSERVICELEVEL, * LPLINEQOSSERVICELEVEL;
|
|
|
|
|
|
typedef struct LINECALLQOSINFO_tag
|
|
{
|
|
DWORD dwKey;
|
|
|
|
DWORD dwTotalSize;
|
|
|
|
DWORD dwQOSRequestType;
|
|
|
|
union
|
|
{
|
|
struct
|
|
{
|
|
DWORD dwNumServiceLevelEntries;
|
|
|
|
LINEQOSSERVICELEVEL LineQOSServiceLevel[1];
|
|
|
|
} SetQOSServiceLevel;
|
|
|
|
};
|
|
|
|
} LINECALLQOSINFO, * LPLINECALLQOSINFO;
|
|
|
|
|
|
|
|
// {831CE2D6-83B5-11d1-BB5C-00C04FB6809F}
|
|
EXTERN_C const CLSID TAPIPROTOCOL_PSTN;
|
|
|
|
// {831CE2D7-83B5-11d1-BB5C-00C04FB6809F}
|
|
EXTERN_C const CLSID TAPIPROTOCOL_H323;
|
|
|
|
// {831CE2D8-83B5-11d1-BB5C-00C04FB6809F}
|
|
EXTERN_C const CLSID TAPIPROTOCOL_Multicast;
|
|
|
|
#endif
|
|
|
|
#define TSPI_MESSAGE_BASE 500
|
|
// The lowest-numbered TSPI-specific message ID number
|
|
|
|
#define LINE_NEWCALL ((long) TSPI_MESSAGE_BASE + 0)
|
|
#define LINE_CALLDEVSPECIFIC ((long) TSPI_MESSAGE_BASE + 1)
|
|
#define LINE_CALLDEVSPECIFICFEATURE ((long) TSPI_MESSAGE_BASE + 2)
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
#define LINE_CREATEDIALOGINSTANCE ((long) TSPI_MESSAGE_BASE + 3)
|
|
// TSPI v2.0
|
|
#define LINE_SENDDIALOGINSTANCEDATA ((long) TSPI_MESSAGE_BASE + 4)
|
|
// TSPI v2.0
|
|
#endif
|
|
#if (TAPI_CURRENT_VERSION >= 0x00030000)
|
|
#define LINE_SENDMSPDATA ((long) TSPI_MESSAGE_BASE + 5)
|
|
// TSPI v3.0
|
|
#define LINE_QOSINFO ((long) TSPI_MESSAGE_BASE + 6)
|
|
// TSPI v3.0
|
|
#endif
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
#define LINETSPIOPTION_NONREENTRANT 0x00000001 // TSPI v2.0
|
|
#endif
|
|
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
#define TUISPIDLL_OBJECT_LINEID 1L // TSPI v2.0
|
|
#define TUISPIDLL_OBJECT_PHONEID 2L // TSPI v2.0
|
|
#define TUISPIDLL_OBJECT_PROVIDERID 3L // TSPI v2.0
|
|
#define TUISPIDLL_OBJECT_DIALOGINSTANCE 4L // TSPI v2.0
|
|
#endif
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00030000)
|
|
#define PRIVATEOBJECT_NONE 0x00000001 // TSPI v3.0
|
|
#define PRIVATEOBJECT_CALLID 0x00000002 // TSPI v3.0
|
|
#define PRIVATEOBJECT_LINE 0x00000003 // TSPI v3.0
|
|
#define PRIVATEOBJECT_CALL 0x00000004 // TSPI v3.0
|
|
#define PRIVATEOBJECT_PHONE 0x00000005 // TSPI v3.0
|
|
#define PRIVATEOBJECT_ADDRESS 0x00000006 // TSPI v3.0
|
|
|
|
#define LINEQOSREQUESTTYPE_SERVICELEVEL 0x00000001 // TSPI v3.0
|
|
|
|
#define LINEQOSSERVICELEVEL_NEEDED 0x00000001 // TSPI v3.0
|
|
#define LINEQOSSERVICELEVEL_IFAVAILABLE 0x00000002 // TSPI v3.0
|
|
#define LINEQOSSERVICELEVEL_BESTEFFORT 0x00000003 // TSPI v3.0
|
|
|
|
#define LINEEQOSINFO_NOQOS 0x00000001 // TSPI v3.0
|
|
#define LINEEQOSINFO_ADMISSIONFAILURE 0x00000002 // TSPI v3.0
|
|
#define LINEEQOSINFO_POLICYFAILURE 0x00000003 // TSPI v3.0
|
|
#define LINEEQOSINFO_GENERICERROR 0x00000004 // TSPI v3.0
|
|
#endif
|
|
|
|
|
|
//
|
|
// The following function prototypes pertain
|
|
// to a service provider's core module
|
|
//
|
|
|
|
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineAccept(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
LPCSTR lpsUserUserInfo,
|
|
DWORD dwSize
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineAddToConference(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdConfCall,
|
|
HDRVCALL hdConsultCall
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineAnswer(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
LPCSTR lpsUserUserInfo,
|
|
DWORD dwSize
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineBlindTransfer(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
LPCWSTR lpszDestAddress,
|
|
DWORD dwCountryCode);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineBlindTransfer(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
LPCSTR lpszDestAddress,
|
|
DWORD dwCountryCode);
|
|
#endif
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineClose(
|
|
HDRVLINE hdLine
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineCloseCall(
|
|
HDRVCALL hdCall
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineCompleteCall(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
LPDWORD lpdwCompletionID,
|
|
DWORD dwCompletionMode,
|
|
DWORD dwMessageID
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineCompleteTransfer(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
HDRVCALL hdConsultCall,
|
|
HTAPICALL htConfCall,
|
|
LPHDRVCALL lphdConfCall,
|
|
DWORD dwTransferMode
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineConditionalMediaDetection(
|
|
HDRVLINE hdLine,
|
|
DWORD dwMediaModes,
|
|
LPLINECALLPARAMS const lpCallParams
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineDevSpecific(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVLINE hdLine,
|
|
DWORD dwAddressID,
|
|
HDRVCALL hdCall,
|
|
LPVOID lpParams,
|
|
DWORD dwSize
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineDevSpecificFeature(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVLINE hdLine,
|
|
DWORD dwFeature,
|
|
LPVOID lpParams,
|
|
DWORD dwSize
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineDial(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
LPCWSTR lpszDestAddress,
|
|
DWORD dwCountryCode
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineDial(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
LPCSTR lpszDestAddress,
|
|
DWORD dwCountryCode
|
|
);
|
|
#endif
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineDrop(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
LPCSTR lpsUserUserInfo,
|
|
DWORD dwSize
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineDropOnClose( // TSPI v1.4
|
|
HDRVCALL hdCall
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineDropNoOwner( // TSPI v1.4
|
|
HDRVCALL hdCall
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineForward(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVLINE hdLine,
|
|
DWORD bAllAddresses,
|
|
DWORD dwAddressID,
|
|
LPLINEFORWARDLIST const lpForwardList,
|
|
DWORD dwNumRingsNoAnswer,
|
|
HTAPICALL htConsultCall,
|
|
LPHDRVCALL lphdConsultCall,
|
|
LPLINECALLPARAMS const lpCallParams
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGatherDigits(
|
|
HDRVCALL hdCall,
|
|
DWORD dwEndToEndID,
|
|
DWORD dwDigitModes,
|
|
LPWSTR lpsDigits,
|
|
DWORD dwNumDigits,
|
|
LPCWSTR lpszTerminationDigits,
|
|
DWORD dwFirstDigitTimeout,
|
|
DWORD dwInterDigitTimeout
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGatherDigits(
|
|
HDRVCALL hdCall,
|
|
DWORD dwEndToEndID,
|
|
DWORD dwDigitModes,
|
|
LPSTR lpsDigits,
|
|
DWORD dwNumDigits,
|
|
LPCSTR lpszTerminationDigits,
|
|
DWORD dwFirstDigitTimeout,
|
|
DWORD dwInterDigitTimeout
|
|
);
|
|
#endif
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGenerateDigits(
|
|
HDRVCALL hdCall,
|
|
DWORD dwEndToEndID,
|
|
DWORD dwDigitMode,
|
|
LPCWSTR lpszDigits,
|
|
DWORD dwDuration
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGenerateDigits(
|
|
HDRVCALL hdCall,
|
|
DWORD dwEndToEndID,
|
|
DWORD dwDigitMode,
|
|
LPCSTR lpszDigits,
|
|
DWORD dwDuration
|
|
);
|
|
#endif
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGenerateTone(
|
|
HDRVCALL hdCall,
|
|
DWORD dwEndToEndID,
|
|
DWORD dwToneMode,
|
|
DWORD dwDuration,
|
|
DWORD dwNumTones,
|
|
LPLINEGENERATETONE const lpTones
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetAddressCaps(
|
|
DWORD dwDeviceID,
|
|
DWORD dwAddressID,
|
|
DWORD dwTSPIVersion,
|
|
DWORD dwExtVersion,
|
|
LPLINEADDRESSCAPS lpAddressCaps
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetAddressID(
|
|
HDRVLINE hdLine,
|
|
LPDWORD lpdwAddressID,
|
|
DWORD dwAddressMode,
|
|
LPCWSTR lpsAddress,
|
|
DWORD dwSize
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetAddressID(
|
|
HDRVLINE hdLine,
|
|
LPDWORD lpdwAddressID,
|
|
DWORD dwAddressMode,
|
|
LPCSTR lpsAddress,
|
|
DWORD dwSize
|
|
);
|
|
#endif
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetAddressStatus(
|
|
HDRVLINE hdLine,
|
|
DWORD dwAddressID,
|
|
LPLINEADDRESSSTATUS lpAddressStatus
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetCallAddressID(
|
|
HDRVCALL hdCall,
|
|
LPDWORD lpdwAddressID
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00030000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetCallHubTracking( // TSPI v3.0
|
|
HDRVLINE hdLine,
|
|
LPLINECALLHUBTRACKINGINFO lpTrackingInfo
|
|
);
|
|
#endif
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00030000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetCallIDs( // TSPI v3.0
|
|
HDRVCALL hdCall,
|
|
LPDWORD lpdwAddressID,
|
|
LPDWORD lpdwCallID,
|
|
LPDWORD lpdwRelatedCallID
|
|
);
|
|
#endif
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetCallInfo(
|
|
HDRVCALL hdCall,
|
|
LPLINECALLINFO lpCallInfo
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetCallStatus(
|
|
HDRVCALL hdCall,
|
|
LPLINECALLSTATUS lpCallStatus
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetDevCaps(
|
|
DWORD dwDeviceID,
|
|
DWORD dwTSPIVersion,
|
|
DWORD dwExtVersion,
|
|
LPLINEDEVCAPS lpLineDevCaps
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetDevConfig(
|
|
DWORD dwDeviceID,
|
|
LPVARSTRING lpDeviceConfig,
|
|
LPCWSTR lpszDeviceClass
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetDevConfig(
|
|
DWORD dwDeviceID,
|
|
LPVARSTRING lpDeviceConfig,
|
|
LPCSTR lpszDeviceClass
|
|
);
|
|
#endif
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetExtensionID(
|
|
DWORD dwDeviceID,
|
|
DWORD dwTSPIVersion,
|
|
LPLINEEXTENSIONID lpExtensionID
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetIcon(
|
|
DWORD dwDeviceID,
|
|
LPCWSTR lpszDeviceClass,
|
|
LPHICON lphIcon
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetIcon(
|
|
DWORD dwDeviceID,
|
|
LPCSTR lpszDeviceClass,
|
|
LPHICON lphIcon
|
|
);
|
|
#endif
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetID(
|
|
HDRVLINE hdLine,
|
|
DWORD dwAddressID,
|
|
HDRVCALL hdCall,
|
|
DWORD dwSelect,
|
|
LPVARSTRING lpDeviceID,
|
|
LPCWSTR lpszDeviceClass,
|
|
HANDLE hTargetProcess // TSPI v2.0
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetID(
|
|
HDRVLINE hdLine,
|
|
DWORD dwAddressID,
|
|
HDRVCALL hdCall,
|
|
DWORD dwSelect,
|
|
LPVARSTRING lpDeviceID,
|
|
LPCSTR lpszDeviceClass
|
|
);
|
|
#endif
|
|
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetLineDevStatus(
|
|
HDRVLINE hdLine,
|
|
LPLINEDEVSTATUS lpLineDevStatus
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineGetNumAddressIDs(
|
|
HDRVLINE hdLine,
|
|
LPDWORD lpdwNumAddressIDs
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineHold(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineMakeCall(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVLINE hdLine,
|
|
HTAPICALL htCall,
|
|
LPHDRVCALL lphdCall,
|
|
LPCWSTR lpszDestAddress,
|
|
DWORD dwCountryCode,
|
|
LPLINECALLPARAMS const lpCallParams
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineMakeCall(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVLINE hdLine,
|
|
HTAPICALL htCall,
|
|
LPHDRVCALL lphdCall,
|
|
LPCSTR lpszDestAddress,
|
|
DWORD dwCountryCode,
|
|
LPLINECALLPARAMS const lpCallParams
|
|
);
|
|
#endif
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineMonitorDigits(
|
|
HDRVCALL hdCall,
|
|
DWORD dwDigitModes
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineMonitorMedia(
|
|
HDRVCALL hdCall,
|
|
DWORD dwMediaModes
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineMonitorTones(
|
|
HDRVCALL hdCall,
|
|
DWORD dwToneListID,
|
|
LPLINEMONITORTONE const lpToneList,
|
|
DWORD dwNumEntries
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineNegotiateExtVersion(
|
|
DWORD dwDeviceID,
|
|
DWORD dwTSPIVersion,
|
|
DWORD dwLowVersion,
|
|
DWORD dwHighVersion,
|
|
LPDWORD lpdwExtVersion
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineNegotiateTSPIVersion(
|
|
DWORD dwDeviceID,
|
|
DWORD dwLowVersion,
|
|
DWORD dwHighVersion,
|
|
LPDWORD lpdwTSPIVersion
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineOpen(
|
|
DWORD dwDeviceID,
|
|
HTAPILINE htLine,
|
|
LPHDRVLINE lphdLine,
|
|
DWORD dwTSPIVersion,
|
|
LINEEVENT lpfnEventProc
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_linePark(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
DWORD dwParkMode,
|
|
LPCWSTR lpszDirAddress,
|
|
LPVARSTRING lpNonDirAddress
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_linePark(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
DWORD dwParkMode,
|
|
LPCSTR lpszDirAddress,
|
|
LPVARSTRING lpNonDirAddress
|
|
);
|
|
#endif
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_linePickup(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVLINE hdLine,
|
|
DWORD dwAddressID,
|
|
HTAPICALL htCall,
|
|
LPHDRVCALL lphdCall,
|
|
LPCWSTR lpszDestAddress,
|
|
LPCWSTR lpszGroupID
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_linePickup(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVLINE hdLine,
|
|
DWORD dwAddressID,
|
|
HTAPICALL htCall,
|
|
LPHDRVCALL lphdCall,
|
|
LPCSTR lpszDestAddress,
|
|
LPCSTR lpszGroupID
|
|
);
|
|
#endif
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_linePrepareAddToConference(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdConfCall,
|
|
HTAPICALL htConsultCall,
|
|
LPHDRVCALL lphdConsultCall,
|
|
LPLINECALLPARAMS const lpCallParams
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineRedirect(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
LPCWSTR lpszDestAddress,
|
|
DWORD dwCountryCode
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineRedirect(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
LPCSTR lpszDestAddress,
|
|
DWORD dwCountryCode
|
|
);
|
|
#endif
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineReleaseUserUserInfo( // TSPI v1.4
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineRemoveFromConference(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSecureCall(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSelectExtVersion(
|
|
HDRVLINE hdLine,
|
|
DWORD dwExtVersion
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSendUserUserInfo(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
LPCSTR lpsUserUserInfo,
|
|
DWORD dwSize
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetAppSpecific(
|
|
HDRVCALL hdCall,
|
|
DWORD dwAppSpecific
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetCallData( // TSPI v2.0
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
LPVOID lpCallData,
|
|
DWORD dwSize
|
|
);
|
|
#endif
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00030000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetCallHubTracking( // TSPI v3.0
|
|
HDRVLINE hdLine,
|
|
LPLINECALLHUBTRACKINGINFO lpTrackingInfo
|
|
);
|
|
#endif
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetCallParams(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
DWORD dwBearerMode,
|
|
DWORD dwMinRate,
|
|
DWORD dwMaxRate,
|
|
LPLINEDIALPARAMS const lpDialParams
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetCallQualityOfService( // TSPI v2.0
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
LPVOID lpSendingFlowspec,
|
|
DWORD dwSendingFlowspecSize,
|
|
LPVOID lpReceivingFlowspec,
|
|
DWORD dwReceivingFlowspecSize
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetCallTreatment( // TSPI v2.0
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
DWORD dwTreatment
|
|
);
|
|
#endif
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetCurrentLocation( // TSPI v1.4
|
|
DWORD dwLocation
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetDefaultMediaDetection(
|
|
HDRVLINE hdLine,
|
|
DWORD dwMediaModes
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetDevConfig(
|
|
DWORD dwDeviceID,
|
|
LPVOID const lpDeviceConfig,
|
|
DWORD dwSize,
|
|
LPCWSTR lpszDeviceClass
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetDevConfig(
|
|
DWORD dwDeviceID,
|
|
LPVOID const lpDeviceConfig,
|
|
DWORD dwSize,
|
|
LPCSTR lpszDeviceClass
|
|
);
|
|
#endif
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetLineDevStatus( // TSPI v2.0
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVLINE hdLine,
|
|
DWORD dwStatusToChange,
|
|
DWORD fStatus
|
|
);
|
|
#endif
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetMediaControl(
|
|
HDRVLINE hdLine,
|
|
DWORD dwAddressID,
|
|
HDRVCALL hdCall,
|
|
DWORD dwSelect,
|
|
LPLINEMEDIACONTROLDIGIT const lpDigitList,
|
|
DWORD dwDigitNumEntries,
|
|
LPLINEMEDIACONTROLMEDIA const lpMediaList,
|
|
DWORD dwMediaNumEntries,
|
|
LPLINEMEDIACONTROLTONE const lpToneList,
|
|
DWORD dwToneNumEntries,
|
|
LPLINEMEDIACONTROLCALLSTATE const lpCallStateList,
|
|
DWORD dwCallStateNumEntries
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetMediaMode(
|
|
HDRVCALL hdCall,
|
|
DWORD dwMediaMode
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetStatusMessages(
|
|
HDRVLINE hdLine,
|
|
DWORD dwLineStates,
|
|
DWORD dwAddressStates
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetTerminal(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVLINE hdLine,
|
|
DWORD dwAddressID,
|
|
HDRVCALL hdCall,
|
|
DWORD dwSelect,
|
|
DWORD dwTerminalModes,
|
|
DWORD dwTerminalID,
|
|
DWORD bEnable
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetupConference(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
HDRVLINE hdLine,
|
|
HTAPICALL htConfCall,
|
|
LPHDRVCALL lphdConfCall,
|
|
HTAPICALL htConsultCall,
|
|
LPHDRVCALL lphdConsultCall,
|
|
DWORD dwNumParties,
|
|
LPLINECALLPARAMS const lpCallParams
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSetupTransfer(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall,
|
|
HTAPICALL htConsultCall,
|
|
LPHDRVCALL lphdConsultCall,
|
|
LPLINECALLPARAMS const lpCallParams
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineSwapHold(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdActiveCall,
|
|
HDRVCALL hdHeldCall
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineUncompleteCall(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVLINE hdLine,
|
|
DWORD dwCompletionID
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineUnhold(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVCALL hdCall
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineUnpark(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVLINE hdLine,
|
|
DWORD dwAddressID,
|
|
HTAPICALL htCall,
|
|
LPHDRVCALL lphdCall,
|
|
LPCWSTR lpszDestAddress
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineUnpark(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVLINE hdLine,
|
|
DWORD dwAddressID,
|
|
HTAPICALL htCall,
|
|
LPHDRVCALL lphdCall,
|
|
LPCSTR lpszDestAddress
|
|
);
|
|
#endif
|
|
|
|
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneClose(
|
|
HDRVPHONE hdPhone
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneDevSpecific(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVPHONE hdPhone,
|
|
LPVOID lpParams,
|
|
DWORD dwSize
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneGetButtonInfo(
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwButtonLampID,
|
|
LPPHONEBUTTONINFO lpButtonInfo
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneGetData(
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwDataID,
|
|
LPVOID lpData,
|
|
DWORD dwSize
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneGetDevCaps(
|
|
DWORD dwDeviceID,
|
|
DWORD dwTSPIVersion,
|
|
DWORD dwExtVersion,
|
|
LPPHONECAPS lpPhoneCaps
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneGetDisplay(
|
|
HDRVPHONE hdPhone,
|
|
LPVARSTRING lpDisplay
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneGetExtensionID(
|
|
DWORD dwDeviceID,
|
|
DWORD dwTSPIVersion,
|
|
LPPHONEEXTENSIONID lpExtensionID
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneGetGain(
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwHookSwitchDev,
|
|
LPDWORD lpdwGain
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneGetHookSwitch(
|
|
HDRVPHONE hdPhone,
|
|
LPDWORD lpdwHookSwitchDevs
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneGetIcon(
|
|
DWORD dwDeviceID,
|
|
LPCWSTR lpszDeviceClass,
|
|
LPHICON lphIcon
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneGetIcon(
|
|
DWORD dwDeviceID,
|
|
LPCSTR lpszDeviceClass,
|
|
LPHICON lphIcon
|
|
);
|
|
#endif
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneGetID(
|
|
HDRVPHONE hdPhone,
|
|
LPVARSTRING lpDeviceID,
|
|
LPCWSTR lpszDeviceClass,
|
|
HANDLE hTargetProcess // TSPI v2.0
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneGetID(
|
|
HDRVPHONE hdPhone,
|
|
LPVARSTRING lpDeviceID,
|
|
LPCSTR lpszDeviceClass
|
|
);
|
|
#endif
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneGetLamp(
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwButtonLampID,
|
|
LPDWORD lpdwLampMode
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneGetRing(
|
|
HDRVPHONE hdPhone,
|
|
LPDWORD lpdwRingMode,
|
|
LPDWORD lpdwVolume
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneGetStatus(
|
|
HDRVPHONE hdPhone,
|
|
LPPHONESTATUS lpPhoneStatus
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneGetVolume(
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwHookSwitchDev,
|
|
LPDWORD lpdwVolume
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneNegotiateExtVersion(
|
|
DWORD dwDeviceID,
|
|
DWORD dwTSPIVersion,
|
|
DWORD dwLowVersion,
|
|
DWORD dwHighVersion,
|
|
LPDWORD lpdwExtVersion
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneNegotiateTSPIVersion(
|
|
DWORD dwDeviceID,
|
|
DWORD dwLowVersion,
|
|
DWORD dwHighVersion,
|
|
LPDWORD lpdwTSPIVersion
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneOpen(
|
|
DWORD dwDeviceID,
|
|
HTAPIPHONE htPhone,
|
|
LPHDRVPHONE lphdPhone,
|
|
DWORD dwTSPIVersion,
|
|
PHONEEVENT lpfnEventProc
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneSelectExtVersion(
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwExtVersion
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneSetButtonInfo(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwButtonLampID,
|
|
LPPHONEBUTTONINFO const lpButtonInfo
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneSetData(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwDataID,
|
|
LPVOID const lpData,
|
|
DWORD dwSize
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneSetDisplay(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwRow,
|
|
DWORD dwColumn,
|
|
LPCWSTR lpsDisplay,
|
|
DWORD dwSize
|
|
);
|
|
#else
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneSetDisplay(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwRow,
|
|
DWORD dwColumn,
|
|
LPCSTR lpsDisplay,
|
|
DWORD dwSize
|
|
);
|
|
#endif
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneSetGain(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwHookSwitchDev,
|
|
DWORD dwGain
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneSetHookSwitch(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwHookSwitchDevs,
|
|
DWORD dwHookSwitchMode
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneSetLamp(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwButtonLampID,
|
|
DWORD dwLampMode
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneSetRing(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwRingMode,
|
|
DWORD dwVolume
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneSetStatusMessages(
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwPhoneStates,
|
|
DWORD dwButtonModes,
|
|
DWORD dwButtonStates
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneSetVolume(
|
|
DRV_REQUESTID dwRequestID,
|
|
HDRVPHONE hdPhone,
|
|
DWORD dwHookSwitchDev,
|
|
DWORD dwVolume
|
|
);
|
|
|
|
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_providerConfig(
|
|
HWND hwndOwner,
|
|
DWORD dwPermanentProviderID
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_providerCreateLineDevice( // TSPI v1.4
|
|
DWORD_PTR dwTempID,
|
|
DWORD dwDeviceID
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_providerCreatePhoneDevice( // TSPI v1.4
|
|
DWORD_PTR dwTempID,
|
|
DWORD dwDeviceID
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_providerEnumDevices( // TSPI v1.4
|
|
DWORD dwPermanentProviderID,
|
|
LPDWORD lpdwNumLines,
|
|
LPDWORD lpdwNumPhones,
|
|
HPROVIDER hProvider,
|
|
LINEEVENT lpfnLineCreateProc,
|
|
PHONEEVENT lpfnPhoneCreateProc
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_providerFreeDialogInstance( // TSPI v2.0
|
|
HDRVDIALOGINSTANCE hdDlgInst
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_providerGenericDialogData( // TSPI v2.0
|
|
DWORD_PTR dwObjectID,
|
|
DWORD dwObjectType,
|
|
LPVOID lpParams,
|
|
DWORD dwSize
|
|
);
|
|
#endif
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_providerInit(
|
|
DWORD dwTSPIVersion,
|
|
DWORD dwPermanentProviderID,
|
|
DWORD dwLineDeviceIDBase,
|
|
DWORD dwPhoneDeviceIDBase,
|
|
DWORD_PTR dwNumLines,
|
|
DWORD_PTR dwNumPhones,
|
|
ASYNC_COMPLETION lpfnCompletionProc
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
,
|
|
LPDWORD lpdwTSPIOptions // TSPI v2.0
|
|
#endif
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_providerInstall(
|
|
HWND hwndOwner,
|
|
DWORD dwPermanentProviderID
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_providerRemove(
|
|
HWND hwndOwner,
|
|
DWORD dwPermanentProviderID
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_providerShutdown(
|
|
DWORD dwTSPIVersion
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
,
|
|
DWORD dwPermanentProviderID // TSPI v2.0
|
|
#endif
|
|
);
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_providerUIIdentify( // TSPI v2.0
|
|
LPWSTR lpszUIDLLName
|
|
);
|
|
#endif
|
|
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00030000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineMSPIdentify(
|
|
DWORD dwDeviceID,
|
|
GUID * pCLSID
|
|
);
|
|
#endif
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00030000)
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineCreateMSPInstance(
|
|
HDRVLINE hdLine,
|
|
DWORD dwAddressID,
|
|
HTAPIMSPLINE htMSPLine,
|
|
LPHDRVMSPLINE lphdMSPLine
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineCloseMSPInstance(
|
|
HDRVMSPLINE hdMSPLine
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineReceiveMSPData(
|
|
HDRVLINE hdLine,
|
|
HDRVCALL hdCall,
|
|
HDRVMSPLINE hdMSPLine,
|
|
LPVOID pBuffer,
|
|
DWORD dwSize
|
|
);
|
|
#endif
|
|
|
|
#if (TAPI_CURRENT_VERSION >= 0x00020000)
|
|
//
|
|
// The following function prototypes pertain
|
|
// to a service provider's UI module
|
|
//
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TUISPI_lineConfigDialog( // TSPI v2.0
|
|
TUISPIDLLCALLBACK lpfnUIDLLCallback,
|
|
DWORD dwDeviceID,
|
|
HWND hwndOwner,
|
|
LPCWSTR lpszDeviceClass
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TUISPI_lineConfigDialogEdit( // TSPI v2.0
|
|
TUISPIDLLCALLBACK lpfnUIDLLCallback,
|
|
DWORD dwDeviceID,
|
|
HWND hwndOwner,
|
|
LPCWSTR lpszDeviceClass,
|
|
LPVOID const lpDeviceConfigIn,
|
|
DWORD dwSize,
|
|
LPVARSTRING lpDeviceConfigOut
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TUISPI_phoneConfigDialog( // TSPI v2.0
|
|
TUISPIDLLCALLBACK lpfnUIDLLCallback,
|
|
DWORD dwDeviceID,
|
|
HWND hwndOwner,
|
|
LPCWSTR lpszDeviceClass
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TUISPI_providerConfig( // TSPI v2.0
|
|
TUISPIDLLCALLBACK lpfnUIDLLCallback,
|
|
HWND hwndOwner,
|
|
DWORD dwPermanentProviderID
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TUISPI_providerGenericDialog( // TSPI v2.0
|
|
TUISPIDLLCALLBACK lpfnUIDLLCallback,
|
|
HTAPIDIALOGINSTANCE htDlgInst,
|
|
LPVOID lpParams,
|
|
DWORD dwSize,
|
|
HANDLE hEvent
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TUISPI_providerGenericDialogData( // TSPI v2.0
|
|
HTAPIDIALOGINSTANCE htDlgInst,
|
|
LPVOID lpParams,
|
|
DWORD dwSize
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TUISPI_providerInstall( // TSPI v2.0
|
|
TUISPIDLLCALLBACK lpfnUIDLLCallback,
|
|
HWND hwndOwner,
|
|
DWORD dwPermanentProviderID
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TUISPI_providerRemove( // TSPI v2.0
|
|
TUISPIDLLCALLBACK lpfnUIDLLCallback,
|
|
HWND hwndOwner,
|
|
DWORD dwPermanentProviderID
|
|
);
|
|
|
|
#else
|
|
|
|
//
|
|
// The following were obsoleted by the above (but are needed to build 1.4 SPs)
|
|
//
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineConfigDialog(
|
|
DWORD dwDeviceID,
|
|
HWND hwndOwner,
|
|
LPCSTR lpszDeviceClass
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_lineConfigDialogEdit(
|
|
DWORD dwDeviceID,
|
|
HWND hwndOwner,
|
|
LPCSTR lpszDeviceClass,
|
|
LPVOID const lpDeviceConfigIn,
|
|
DWORD dwSize,
|
|
LPVARSTRING lpDeviceConfigOut
|
|
);
|
|
|
|
LONG
|
|
TSPIAPI
|
|
TSPI_phoneConfigDialog(
|
|
DWORD dwDeviceID,
|
|
HWND hwndOwner,
|
|
LPCSTR lpszDeviceClass
|
|
);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (TAPI_CURRENT_VERSION < 0x00020000)
|
|
|
|
//
|
|
// The following macros are the ordinal numbers of the exported tspi functions
|
|
//
|
|
|
|
#define TSPI_PROC_BASE 500
|
|
|
|
#define TSPI_LINEACCEPT (TSPI_PROC_BASE + 0)
|
|
#define TSPI_LINEADDTOCONFERENCE (TSPI_PROC_BASE + 1)
|
|
#define TSPI_LINEANSWER (TSPI_PROC_BASE + 2)
|
|
#define TSPI_LINEBLINDTRANSFER (TSPI_PROC_BASE + 3)
|
|
#define TSPI_LINECLOSE (TSPI_PROC_BASE + 4)
|
|
#define TSPI_LINECLOSECALL (TSPI_PROC_BASE + 5)
|
|
#define TSPI_LINECOMPLETECALL (TSPI_PROC_BASE + 6)
|
|
#define TSPI_LINECOMPLETETRANSFER (TSPI_PROC_BASE + 7)
|
|
#define TSPI_LINECONDITIONALMEDIADETECTION (TSPI_PROC_BASE + 8)
|
|
#define TSPI_LINECONFIGDIALOG (TSPI_PROC_BASE + 9)
|
|
#define TSPI_LINEDEVSPECIFIC (TSPI_PROC_BASE + 10)
|
|
#define TSPI_LINEDEVSPECIFICFEATURE (TSPI_PROC_BASE + 11)
|
|
#define TSPI_LINEDIAL (TSPI_PROC_BASE + 12)
|
|
#define TSPI_LINEDROP (TSPI_PROC_BASE + 13)
|
|
#define TSPI_LINEFORWARD (TSPI_PROC_BASE + 14)
|
|
#define TSPI_LINEGATHERDIGITS (TSPI_PROC_BASE + 15)
|
|
#define TSPI_LINEGENERATEDIGITS (TSPI_PROC_BASE + 16)
|
|
#define TSPI_LINEGENERATETONE (TSPI_PROC_BASE + 17)
|
|
#define TSPI_LINEGETADDRESSCAPS (TSPI_PROC_BASE + 18)
|
|
#define TSPI_LINEGETADDRESSID (TSPI_PROC_BASE + 19)
|
|
#define TSPI_LINEGETADDRESSSTATUS (TSPI_PROC_BASE + 20)
|
|
#define TSPI_LINEGETCALLADDRESSID (TSPI_PROC_BASE + 21)
|
|
#define TSPI_LINEGETCALLINFO (TSPI_PROC_BASE + 22)
|
|
#define TSPI_LINEGETCALLSTATUS (TSPI_PROC_BASE + 23)
|
|
#define TSPI_LINEGETDEVCAPS (TSPI_PROC_BASE + 24)
|
|
#define TSPI_LINEGETDEVCONFIG (TSPI_PROC_BASE + 25)
|
|
#define TSPI_LINEGETEXTENSIONID (TSPI_PROC_BASE + 26)
|
|
#define TSPI_LINEGETICON (TSPI_PROC_BASE + 27)
|
|
#define TSPI_LINEGETID (TSPI_PROC_BASE + 28)
|
|
#define TSPI_LINEGETLINEDEVSTATUS (TSPI_PROC_BASE + 29)
|
|
#define TSPI_LINEGETNUMADDRESSIDS (TSPI_PROC_BASE + 30)
|
|
#define TSPI_LINEHOLD (TSPI_PROC_BASE + 31)
|
|
#define TSPI_LINEMAKECALL (TSPI_PROC_BASE + 32)
|
|
#define TSPI_LINEMONITORDIGITS (TSPI_PROC_BASE + 33)
|
|
#define TSPI_LINEMONITORMEDIA (TSPI_PROC_BASE + 34)
|
|
#define TSPI_LINEMONITORTONES (TSPI_PROC_BASE + 35)
|
|
#define TSPI_LINENEGOTIATEEXTVERSION (TSPI_PROC_BASE + 36)
|
|
#define TSPI_LINENEGOTIATETSPIVERSION (TSPI_PROC_BASE + 37)
|
|
#define TSPI_LINEOPEN (TSPI_PROC_BASE + 38)
|
|
#define TSPI_LINEPARK (TSPI_PROC_BASE + 39)
|
|
#define TSPI_LINEPICKUP (TSPI_PROC_BASE + 40)
|
|
#define TSPI_LINEPREPAREADDTOCONFERENCE (TSPI_PROC_BASE + 41)
|
|
#define TSPI_LINEREDIRECT (TSPI_PROC_BASE + 42)
|
|
#define TSPI_LINEREMOVEFROMCONFERENCE (TSPI_PROC_BASE + 43)
|
|
#define TSPI_LINESECURECALL (TSPI_PROC_BASE + 44)
|
|
#define TSPI_LINESELECTEXTVERSION (TSPI_PROC_BASE + 45)
|
|
#define TSPI_LINESENDUSERUSERINFO (TSPI_PROC_BASE + 46)
|
|
#define TSPI_LINESETAPPSPECIFIC (TSPI_PROC_BASE + 47)
|
|
#define TSPI_LINESETCALLPARAMS (TSPI_PROC_BASE + 48)
|
|
#define TSPI_LINESETDEFAULTMEDIADETECTION (TSPI_PROC_BASE + 49)
|
|
#define TSPI_LINESETDEVCONFIG (TSPI_PROC_BASE + 50)
|
|
#define TSPI_LINESETMEDIACONTROL (TSPI_PROC_BASE + 51)
|
|
#define TSPI_LINESETMEDIAMODE (TSPI_PROC_BASE + 52)
|
|
#define TSPI_LINESETSTATUSMESSAGES (TSPI_PROC_BASE + 53)
|
|
#define TSPI_LINESETTERMINAL (TSPI_PROC_BASE + 54)
|
|
#define TSPI_LINESETUPCONFERENCE (TSPI_PROC_BASE + 55)
|
|
#define TSPI_LINESETUPTRANSFER (TSPI_PROC_BASE + 56)
|
|
#define TSPI_LINESWAPHOLD (TSPI_PROC_BASE + 57)
|
|
#define TSPI_LINEUNCOMPLETECALL (TSPI_PROC_BASE + 58)
|
|
#define TSPI_LINEUNHOLD (TSPI_PROC_BASE + 59)
|
|
#define TSPI_LINEUNPARK (TSPI_PROC_BASE + 60)
|
|
#define TSPI_PHONECLOSE (TSPI_PROC_BASE + 61)
|
|
#define TSPI_PHONECONFIGDIALOG (TSPI_PROC_BASE + 62)
|
|
#define TSPI_PHONEDEVSPECIFIC (TSPI_PROC_BASE + 63)
|
|
#define TSPI_PHONEGETBUTTONINFO (TSPI_PROC_BASE + 64)
|
|
#define TSPI_PHONEGETDATA (TSPI_PROC_BASE + 65)
|
|
#define TSPI_PHONEGETDEVCAPS (TSPI_PROC_BASE + 66)
|
|
#define TSPI_PHONEGETDISPLAY (TSPI_PROC_BASE + 67)
|
|
#define TSPI_PHONEGETEXTENSIONID (TSPI_PROC_BASE + 68)
|
|
#define TSPI_PHONEGETGAIN (TSPI_PROC_BASE + 69)
|
|
#define TSPI_PHONEGETHOOKSWITCH (TSPI_PROC_BASE + 70)
|
|
#define TSPI_PHONEGETICON (TSPI_PROC_BASE + 71)
|
|
#define TSPI_PHONEGETID (TSPI_PROC_BASE + 72)
|
|
#define TSPI_PHONEGETLAMP (TSPI_PROC_BASE + 73)
|
|
#define TSPI_PHONEGETRING (TSPI_PROC_BASE + 74)
|
|
#define TSPI_PHONEGETSTATUS (TSPI_PROC_BASE + 75)
|
|
#define TSPI_PHONEGETVOLUME (TSPI_PROC_BASE + 76)
|
|
#define TSPI_PHONENEGOTIATEEXTVERSION (TSPI_PROC_BASE + 77)
|
|
#define TSPI_PHONENEGOTIATETSPIVERSION (TSPI_PROC_BASE + 78)
|
|
#define TSPI_PHONEOPEN (TSPI_PROC_BASE + 79)
|
|
#define TSPI_PHONESELECTEXTVERSION (TSPI_PROC_BASE + 80)
|
|
#define TSPI_PHONESETBUTTONINFO (TSPI_PROC_BASE + 81)
|
|
#define TSPI_PHONESETDATA (TSPI_PROC_BASE + 82)
|
|
#define TSPI_PHONESETDISPLAY (TSPI_PROC_BASE + 83)
|
|
#define TSPI_PHONESETGAIN (TSPI_PROC_BASE + 84)
|
|
#define TSPI_PHONESETHOOKSWITCH (TSPI_PROC_BASE + 85)
|
|
#define TSPI_PHONESETLAMP (TSPI_PROC_BASE + 86)
|
|
#define TSPI_PHONESETRING (TSPI_PROC_BASE + 87)
|
|
#define TSPI_PHONESETSTATUSMESSAGES (TSPI_PROC_BASE + 88)
|
|
#define TSPI_PHONESETVOLUME (TSPI_PROC_BASE + 89)
|
|
#define TSPI_PROVIDERCONFIG (TSPI_PROC_BASE + 90)
|
|
#define TSPI_PROVIDERINIT (TSPI_PROC_BASE + 91)
|
|
#define TSPI_PROVIDERINSTALL (TSPI_PROC_BASE + 92)
|
|
#define TSPI_PROVIDERREMOVE (TSPI_PROC_BASE + 93)
|
|
#define TSPI_PROVIDERSHUTDOWN (TSPI_PROC_BASE + 94)
|
|
|
|
#define TSPI_PROVIDERENUMDEVICES (TSPI_PROC_BASE + 95) // TSPI v1.4
|
|
#define TSPI_LINEDROPONCLOSE (TSPI_PROC_BASE + 96) // TSPI v1.4
|
|
#define TSPI_LINEDROPNOOWNER (TSPI_PROC_BASE + 97) // TSPI v1.4
|
|
#define TSPI_PROVIDERCREATELINEDEVICE (TSPI_PROC_BASE + 98) // TSPI v1.4
|
|
#define TSPI_PROVIDERCREATEPHONEDEVICE (TSPI_PROC_BASE + 99) // TSPI v1.4
|
|
#define TSPI_LINESETCURRENTLOCATION (TSPI_PROC_BASE + 100) // TSPI v1.4
|
|
#define TSPI_LINECONFIGDIALOGEDIT (TSPI_PROC_BASE + 101) // TSPI v1.4
|
|
#define TSPI_LINERELEASEUSERUSERINFO (TSPI_PROC_BASE + 102) // TSPI v1.4
|
|
|
|
#define TSPI_LINEGETCALLID (TSPI_PROC_BASE + 103) // TSPI v3.0
|
|
#define TSPI_LINEGETCALLHUBTRACKING (TSPI_PROC_BASE + 104) // TSPI v3.0
|
|
#define TSPI_LINESETCALLHUBTRACKING (TSPI_PROC_BASE + 105) // TSPI v3.0
|
|
#define TSPI_LINERECEIVEMSPDATA (TSPI_PROC_BASE + 106) // TSPI v3.0
|
|
#define TSPI_LINEMSPIDENTIFY (TSPI_PROC_BASE + 107) // TSPI v3.0
|
|
#define TSPI_LINECREATEMSPINSTANCE (TSPI_PROC_BASE + 108) // TSPI v3.0
|
|
#define TSPI_LINECLOSEMSPINSTANCE (TSPI_PROC_BASE + 109) // TSPI v3.0
|
|
|
|
|
|
#endif
|
|
|
|
|
|
#ifdef __cplusplus
|
|
} /* End of extern "C" { */
|
|
#endif /* __cplusplus */
|
|
|
|
#endif // TSPI_H
|
|
|