📄 tapi.h
字号:
/*++ 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:
tapi.h
Notes:
Additions to the Telephony Application Programming Interface (TAPI) since
version 1.0 are noted by version number (e.g. "TAPI v1.4").
--*/
#ifndef TAPI_H
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
#define TAPI_H
//
// -- TAPI VERSION INFO -- TAPI VERSION INFO -- TAPI VERSION INFO --
//
// To build a TAPI 1.4 application put a define as below in your source
// file before you include TAPI.H:
//
// #define TAPI_CURRENT_VERSION 0x00010004
//
//
#ifndef TAPI_CURRENT_VERSION
#define TAPI_CURRENT_VERSION 0x00020002
#endif
#include <windows.h>
#if WIN32
#include <basetsd.h>
#endif
#if (TAPI_CURRENT_VERSION >= 0x00020002)
#include <oaidl.h>
#endif
#pragma pack(1)
// Type definitions of the data types used in tapi
#ifdef __cplusplus
extern "C" { /* Assume C declarations for C++ */
#endif /* __cplusplus */
//
// TAPI type definitions
//
#define DECLARE_OPAQUE32(name) typedef DWORD name
DECLARE_OPAQUE32(HCALL);
typedef HCALL FAR * LPHCALL;
#if (TAPI_CURRENT_VERSION >= 0x00030000)
DECLARE_OPAQUE32(HCALLHUB); // TAPI v3.0
typedef HCALLHUB FAR * LPHCALLHUB; // TAPI v3.0
#endif
DECLARE_OPAQUE32(HLINE);
typedef HLINE FAR * LPHLINE;
DECLARE_OPAQUE32(HPHONE);
typedef HPHONE FAR * LPHPHONE;
DECLARE_OPAQUE32(HLINEAPP);
typedef HLINEAPP FAR * LPHLINEAPP;
DECLARE_OPAQUE32(HPHONEAPP);
typedef HPHONEAPP FAR * LPHPHONEAPP;
#if (TAPI_CURRENT_VERSION >= 0x00020002)
DECLARE_OPAQUE32(HAGENTSESSION); // TAPI v2.2
typedef HAGENTSESSION FAR * LPHAGENTSESSION; // TAPI v2.2
DECLARE_OPAQUE32(HAGENT); // TAPI v2.2
typedef HAGENT FAR * LPHAGENT; // TAPI v2.2
#endif
#if (TAPI_CURRENT_VERSION >= 0x00030000)
DECLARE_OPAQUE32(HPRIVATECHANNEL); // TAPI v3.0
typedef HPRIVATECHANNEL FAR * LPHPRIVATECHANNEL; // TAPI v3.0
#endif
typedef HICON FAR * LPHICON;
typedef void (CALLBACK * LINECALLBACK)(
DWORD hDevice,
DWORD dwMessage,
DWORD_PTR dwInstance,
DWORD_PTR dwParam1,
DWORD_PTR dwParam2,
DWORD_PTR dwParam3
);
typedef void (CALLBACK * PHONECALLBACK)(
DWORD hDevice,
DWORD dwMessage,
DWORD_PTR dwInstance,
DWORD_PTR dwParam1,
DWORD_PTR dwParam2,
DWORD_PTR dwParam3
);
// Messages for Phones and Lines
#define LINE_ADDRESSSTATE 0L
#define LINE_CALLINFO 1L
#define LINE_CALLSTATE 2L
#define LINE_CLOSE 3L
#define LINE_DEVSPECIFIC 4L
#define LINE_DEVSPECIFICFEATURE 5L
#define LINE_GATHERDIGITS 6L
#define LINE_GENERATE 7L
#define LINE_LINEDEVSTATE 8L
#define LINE_MONITORDIGITS 9L
#define LINE_MONITORMEDIA 10L
#define LINE_MONITORTONE 11L
#define LINE_REPLY 12L
#define LINE_REQUEST 13L
#define PHONE_BUTTON 14L
#define PHONE_CLOSE 15L
#define PHONE_DEVSPECIFIC 16L
#define PHONE_REPLY 17L
#define PHONE_STATE 18L
#define LINE_CREATE 19L // TAPI v1.4
#define PHONE_CREATE 20L // TAPI v1.4
#if (TAPI_CURRENT_VERSION >= 0x00020000)
#define LINE_AGENTSPECIFIC 21L // TAPI v2.0
#define LINE_AGENTSTATUS 22L // TAPI v2.0
#define LINE_APPNEWCALL 23L // TAPI v2.0
#define LINE_PROXYREQUEST 24L // TAPI v2.0
#define LINE_REMOVE 25L // TAPI v2.0
#define PHONE_REMOVE 26L // TAPI v2.0
#endif
#if (TAPI_CURRENT_VERSION >= 0x00020002)
#define LINE_AGENTSESSIONSTATUS 27L // TAPI v2.2
#define LINE_QUEUESTATUS 28L // TAPI v2.2
#define LINE_AGENTSTATUSEX 29L // TAPI v2.2
#define LINE_GROUPSTATUS 30L // TAPI v2.2
#define LINE_PROXYSTATUS 31L // TAPI v2.2
#endif
#if (TAPI_CURRENT_VERSION >= 0x00030000)
#define LINE_APPNEWCALLHUB 32L // TAPI v3.0
#define LINE_CALLHUBCLOSE 33L // TAPI v3.0
#define LINE_DEVSPECIFICEX 34L // TAPI v3.0
#endif
#define INITIALIZE_NEGOTIATION 0xFFFFFFFFUL
#define LINEADDRCAPFLAGS_FWDNUMRINGS 0x00000001
#define LINEADDRCAPFLAGS_PICKUPGROUPID 0x00000002
#define LINEADDRCAPFLAGS_SECURE 0x00000004
#define LINEADDRCAPFLAGS_BLOCKIDDEFAULT 0x00000008
#define LINEADDRCAPFLAGS_BLOCKIDOVERRIDE 0x00000010
#define LINEADDRCAPFLAGS_DIALED 0x00000020
#define LINEADDRCAPFLAGS_ORIGOFFHOOK 0x00000040
#define LINEADDRCAPFLAGS_DESTOFFHOOK 0x00000080
#define LINEADDRCAPFLAGS_FWDCONSULT 0x00000100
#define LINEADDRCAPFLAGS_SETUPCONFNULL 0x00000200
#define LINEADDRCAPFLAGS_AUTORECONNECT 0x00000400
#define LINEADDRCAPFLAGS_COMPLETIONID 0x00000800
#define LINEADDRCAPFLAGS_TRANSFERHELD 0x00001000
#define LINEADDRCAPFLAGS_TRANSFERMAKE 0x00002000
#define LINEADDRCAPFLAGS_CONFERENCEHELD 0x00004000
#define LINEADDRCAPFLAGS_CONFERENCEMAKE 0x00008000
#define LINEADDRCAPFLAGS_PARTIALDIAL 0x00010000
#define LINEADDRCAPFLAGS_FWDSTATUSVALID 0x00020000
#define LINEADDRCAPFLAGS_FWDINTEXTADDR 0x00040000
#define LINEADDRCAPFLAGS_FWDBUSYNAADDR 0x00080000
#define LINEADDRCAPFLAGS_ACCEPTTOALERT 0x00100000
#define LINEADDRCAPFLAGS_CONFDROP 0x00200000
#define LINEADDRCAPFLAGS_PICKUPCALLWAIT 0x00400000
#if (TAPI_CURRENT_VERSION >= 0x00020000)
#define LINEADDRCAPFLAGS_PREDICTIVEDIALER 0x00800000 // TAPI v2.0
#define LINEADDRCAPFLAGS_QUEUE 0x01000000 // TAPI v2.0
#define LINEADDRCAPFLAGS_ROUTEPOINT 0x02000000 // TAPI v2.0
#define LINEADDRCAPFLAGS_HOLDMAKESNEW 0x04000000 // TAPI v2.0
#define LINEADDRCAPFLAGS_NOINTERNALCALLS 0x08000000 // TAPI v2.0
#define LINEADDRCAPFLAGS_NOEXTERNALCALLS 0x10000000 // TAPI v2.0
#define LINEADDRCAPFLAGS_SETCALLINGID 0x20000000 // TAPI v2.0
#endif
#if (TAPI_CURRENT_VERSION >= 0x00020002)
#define LINEADDRCAPFLAGS_ACDGROUP 0x40000000 // TAPI v2.2
#endif
#if (TAPI_CURRENT_VERSION >= 0x00030000)
#define LINEADDRCAPFLAGS_NOPSTNADDRESSTRANSLATION 0x80000000 // TAPI v3.0
#endif
#define LINEADDRESSMODE_ADDRESSID 0x00000001
#define LINEADDRESSMODE_DIALABLEADDR 0x00000002
#define LINEADDRESSSHARING_PRIVATE 0x00000001
#define LINEADDRESSSHARING_BRIDGEDEXCL 0x00000002
#define LINEADDRESSSHARING_BRIDGEDNEW 0x00000004
#define LINEADDRESSSHARING_BRIDGEDSHARED 0x00000008
#define LINEADDRESSSHARING_MONITORED 0x00000010
#define LINEADDRESSSTATE_OTHER 0x00000001
#define LINEADDRESSSTATE_DEVSPECIFIC 0x00000002
#define LINEADDRESSSTATE_INUSEZERO 0x00000004
#define LINEADDRESSSTATE_INUSEONE 0x00000008
#define LINEADDRESSSTATE_INUSEMANY 0x00000010
#define LINEADDRESSSTATE_NUMCALLS 0x00000020
#define LINEADDRESSSTATE_FORWARD 0x00000040
#define LINEADDRESSSTATE_TERMINALS 0x00000080
#define LINEADDRESSSTATE_CAPSCHANGE 0x00000100 // TAPI v1.4
#if (TAPI_CURRENT_VERSION >= 0x00030000)
#define LINEADDRESSTYPE_PHONENUMBER 0x00000001
#define LINEADDRESSTYPE_SDP 0x00000002
#define LINEADDRESSTYPE_EMAILNAME 0x00000004
#define LINEADDRESSTYPE_DOMAINNAME 0x00000008
#define LINEADDRESSTYPE_IPADDRESS 0x00000010
#endif
#define LINEADDRFEATURE_FORWARD 0x00000001
#define LINEADDRFEATURE_MAKECALL 0x00000002
#define LINEADDRFEATURE_PICKUP 0x00000004
#define LINEADDRFEATURE_SETMEDIACONTROL 0x00000008
#define LINEADDRFEATURE_SETTERMINAL 0x00000010
#define LINEADDRFEATURE_SETUPCONF 0x00000020
#define LINEADDRFEATURE_UNCOMPLETECALL 0x00000040
#define LINEADDRFEATURE_UNPARK 0x00000080
#if (TAPI_CURRENT_VERSION >= 0x00020000)
#define LINEADDRFEATURE_PICKUPHELD 0x00000100 // TAPI v2.0
#define LINEADDRFEATURE_PICKUPGROUP 0x00000200 // TAPI v2.0
#define LINEADDRFEATURE_PICKUPDIRECT 0x00000400 // TAPI v2.0
#define LINEADDRFEATURE_PICKUPWAITING 0x00000800 // TAPI v2.0
#define LINEADDRFEATURE_FORWARDFWD 0x00001000 // TAPI v2.0
#define LINEADDRFEATURE_FORWARDDND 0x00002000 // TAPI v2.0
#endif
#if (TAPI_CURRENT_VERSION >= 0x00020000)
#define LINEAGENTFEATURE_SETAGENTGROUP 0x00000001 // TAPI v2.0
#define LINEAGENTFEATURE_SETAGENTSTATE 0x00000002 // TAPI v2.0
#define LINEAGENTFEATURE_SETAGENTACTIVITY 0x00000004 // TAPI v2.0
#define LINEAGENTFEATURE_AGENTSPECIFIC 0x00000008 // TAPI v2.0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -