?? 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 1995-96 Microsoft, 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
#define TAPI_H
//
// -- TAPI VERSION INFO -- TAPI VERSION INFO -- TAPI VERSION INFO --
// -- TAPI VERSION INFO -- TAPI VERSION INFO -- TAPI VERSION INFO --
// -- 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>
#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) struct name##__ { int unused; }; \
typedef const struct name##__ FAR* name
DECLARE_OPAQUE32(HCALL);
typedef HCALL FAR * LPHCALL;
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;
typedef HICON FAR * LPHICON;
typedef void (CALLBACK * LINECALLBACK)(
DWORD hDevice,
DWORD dwMessage,
DWORD dwInstance,
DWORD dwParam1,
DWORD dwParam2,
DWORD dwParam3
);
typedef void (CALLBACK * PHONECALLBACK)(
DWORD hDevice,
DWORD dwMessage,
DWORD dwInstance,
DWORD dwParam1,
DWORD dwParam2,
DWORD 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
#define INITIALIZE_NEGOTIATION 0xFFFFFFFFL
#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
#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
#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
#define LINEAGENTFEATURE_GETAGENTACTIVITYLIST 0x00000010 // TAPI v2.0
#define LINEAGENTFEATURE_GETAGENTGROUP 0x00000020 // TAPI v2.0
#define LINEAGENTSTATE_LOGGEDOFF 0x00000001 // TAPI v2.0
#define LINEAGENTSTATE_NOTREADY 0x00000002 // TAPI v2.0
#define LINEAGENTSTATE_READY 0x00000004 // TAPI v2.0
#define LINEAGENTSTATE_BUSYACD 0x00000008 // TAPI v2.0
#define LINEAGENTSTATE_BUSYINCOMING 0x00000010 // TAPI v2.0
#define LINEAGENTSTATE_BUSYOUTBOUND 0x00000020 // TAPI v2.0
#define LINEAGENTSTATE_BUSYOTHER 0x00000040 // TAPI v2.0
#define LINEAGENTSTATE_WORKINGAFTERCALL 0x00000080 // TAPI v2.0
#define LINEAGENTSTATE_UNKNOWN 0x00000100 // TAPI v2.0
#define LINEAGENTSTATE_UNAVAIL 0x00000200 // TAPI v2.0
#define LINEAGENTSTATUS_GROUP 0x00000001 // TAPI v2.0
#define LINEAGENTSTATUS_STATE 0x00000002 // TAPI v2.0
#define LINEAGENTSTATUS_NEXTSTATE 0x00000004 // TAPI v2.0
#define LINEAGENTSTATUS_ACTIVITY 0x00000008 // TAPI v2.0
#define LINEAGENTSTATUS_ACTIVITYLIST 0x00000010 // TAPI v2.0
#define LINEAGENTSTATUS_GROUPLIST 0x00000020 // TAPI v2.0
#define LINEAGENTSTATUS_CAPSCHANGE 0x00000040 // TAPI v2.0
#define LINEAGENTSTATUS_VALIDSTATES 0x00000080 // TAPI v2.0
#define LINEAGENTSTATUS_VALIDNEXTSTATES 0x00000100 // TAPI v2.0
#endif
#define LINEANSWERMODE_NONE 0x00000001
#define LINEANSWERMODE_DROP 0x00000002
#define LINEANSWERMODE_HOLD 0x00000004
#define LINEBEARERMODE_VOICE 0x00000001
#define LINEBEARERMODE_SPEECH 0x00000002
#define LINEBEARERMODE_MULTIUSE 0x00000004
#define LINEBEARERMODE_DATA 0x00000008
#define LINEBEARERMODE_ALTSPEECHDATA 0x00000010
#define LINEBEARERMODE_NONCALLSIGNALING 0x00000020
#define LINEBEARERMODE_PASSTHROUGH 0x00000040 // TAPI v1.4
#if (TAPI_CURRENT_VERSION >= 0x00020000)
#define LINEBEARERMODE_RESTRICTEDDATA 0x00000080 // TAPI v2.0
#endif
#define LINEBUSYMODE_STATION 0x00000001
#define LINEBUSYMODE_TRUNK 0x00000002
#define LINEBUSYMODE_UNKNOWN 0x00000004
#define LINEBUSYMODE_UNAVAIL 0x00000008
#define LINECALLCOMPLCOND_BUSY 0x00000001
#define LINECALLCOMPLCOND_NOANSWER 0x00000002
#define LINECALLCOMPLMODE_CAMPON 0x00000001
#define LINECALLCOMPLMODE_CALLBACK 0x00000002
#define LINECALLCOMPLMODE_INTRUDE 0x00000004
#define LINECALLCOMPLMODE_MESSAGE 0x00000008
#define LINECALLFEATURE_ACCEPT 0x00000001
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -