📄 tapi.par
字号:
{******************************************************************}
{ }
{ Borland Delphi Runtime Library }
{ Telephony API interface unit }
{ }
{ Portions created by Microsoft are }
{ Copyright (C) 1995-1999 Microsoft Corporation. }
{ All Rights Reserved. }
{ }
{ The original file is: tapi.h, released March 1999. }
{ The original Pascal code is: Tapi.pas, released 28 Dec 1999. }
{ The initial developer of the Pascal code is Marcel van Brakel }
{ (brakelm@bart.nl). }
{ }
{ Portions created by Marcel van Brakel are }
{ Copyright (C) 1999-2000 Marcel van Brakel. }
{ }
{ Contributor(s): Alan C. Moore (ACMDOC@aol.com) }
{ Rudy Velthuis (rvelthuis@gmx.de) }
{ }
{ Obtained through: }
{ Joint Endeavour of Delphi Innovators (Project JEDI) }
{ }
{ You may retrieve the latest version of this file at the Project }
{ JEDI home page, located at http://delphi-jedi.org }
{ }
{ The contents of this file are used with permission, subject to }
{ the Mozilla Public License Version 1.1 (the "License"); you may }
{ not use this file except in compliance with the License. You may }
{ obtain a copy of the License at }
{ http://www.mozilla.org/NPL/NPL-1_1Final.html }
{ }
{ Software distributed under the License is distributed on an }
{ "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or }
{ implied. See the License for the specific language governing }
{ rights and limitations under the License. }
{ }
{******************************************************************}
unit Tapi;
{$WEAKPACKAGEUNIT}
interface
{$HPPEMIT '// -- TAPI VERSION INFO -- TAPI VERSION INFO --'}
{$HPPEMIT '// -- TAPI VERSION INFO -- TAPI VERSION INFO --'}
{$HPPEMIT '// -- TAPI VERSION INFO -- TAPI VERSION INFO --'}
{$HPPEMIT '//'}
{$HPPEMIT '// To build a TAPI 1.4 application put a define as below in your'}
{$HPPEMIT '// source file before you include TAPI.H:'}
{$HPPEMIT '//'}
{$HPPEMIT '// #define TAPI_CURRENT_VERSION 0x00010004'}
{$HPPEMIT '//'}
{$HPPEMIT '//'}
{$HPPEMIT '#ifndef TAPI_CURRENT_VERSION'}
{$HPPEMIT '#define TAPI_CURRENT_VERSION 0x00020002'}
{$HPPEMIT '#endif'}
{$HPPEMIT '#include <windows.h>'}
{$HPPEMIT '#pragma pack(1)'}
uses
Windows, Messages;
// 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-97 Microsoft, all rights reserved.
// Portions copyright 1992, 1993 Intel/Microsoft, all rights reserved.
{$INCLUDE TAPI.INC}
{$IFNDEF _WIN64}
type
DWORD_PTR = DWORD;
{$ENDIF}
// TAPI type definitions
type
PHCALL = ^HCALL;
HCALL = DWORD;
{$EXTERNALSYM HCALL}
{$IFDEF TAPI30}
PHCALLHUB = ^HCALLHUB;
HCALLHUB = DWORD;
{$EXTERNALSYM HCALLHUB}
{$ENDIF}
PHLINE = ^HLINE;
HLINE = DWORD;
{$EXTERNALSYM HLINE}
PHPHONE = ^HPHONE;
HPHONE = DWORD;
{$EXTERNALSYM HPHONE}
PHLINEAPP = ^HLINEAPP;
HLINEAPP = DWORD;
{$EXTERNALSYM HLINEAPP}
PHPHONEAPP = ^HPHONEAPP;
HPHONEAPP = DWORD;
{$EXTERNALSYM HPHONEAPP}
{$IFDEF TAPI20}
PHAGENTSESSION = ^HAGENTSESSION; // TAPI v2.2
HAGENTSESSION = DWORD; // TAPI v2.2
{$EXTERNALSYM HAGENTSESSION}
PHAGENT = ^HAGENT; // TAPI v2.2
HAGENT = DWORD; // TAPI v2.2
{$EXTERNALSYM HAGENT}
{$ENDIF}
{$IFDEF TAPI30}
PHPRIVATECHANNEL = ^HPRIVATECHANNEL; // TAPI v3.0
HPRIVATECHANNEL = DWORD; // TAPI v3.0
{$EXTERNALSYM HPRIVATECHANNEL}
{$ENDIF}
LPHICON = ^HICON;
{$EXTERNALSYM LPHICON}
PHICON = LPHICON;
TLineCallback = procedure(hDevice, dwMessage: DWORD; dwInstance, dwParam1,
dwParam2, dwParam3: DWORD_PTR) stdcall;
LINECALLBACK = TLineCallback;
{$EXTERNALSYM LINECALLBACK}
TPhoneCallback = procedure(hDevice, dwMessage: DWORD; dwInstance, dwParam1,
dwParam2, dwParam3: DWORD_PTR) stdcall;
PHONECALLBACK = TPhoneCallback;
{$EXTERNALSYM PHONECALLBACK}
// Messages for Phones and Lines
const
LINE_ADDRESSSTATE = 0;
{$EXTERNALSYM LINE_ADDRESSSTATE}
LINE_CALLINFO = 1;
{$EXTERNALSYM LINE_CALLINFO}
LINE_CALLSTATE = 2;
{$EXTERNALSYM LINE_CALLSTATE}
LINE_CLOSE = 3;
{$EXTERNALSYM LINE_CLOSE}
LINE_DEVSPECIFIC = 4;
{$EXTERNALSYM LINE_DEVSPECIFIC}
LINE_DEVSPECIFICFEATURE = 5;
{$EXTERNALSYM LINE_DEVSPECIFICFEATURE}
LINE_GATHERDIGITS = 6;
{$EXTERNALSYM LINE_GATHERDIGITS}
LINE_GENERATE = 7;
{$EXTERNALSYM LINE_GENERATE}
LINE_LINEDEVSTATE = 8;
{$EXTERNALSYM LINE_LINEDEVSTATE}
LINE_MONITORDIGITS = 9;
{$EXTERNALSYM LINE_MONITORDIGITS}
LINE_MONITORMEDIA = 10;
{$EXTERNALSYM LINE_MONITORMEDIA}
LINE_MONITORTONE = 11;
{$EXTERNALSYM LINE_MONITORTONE}
LINE_REPLY = 12;
{$EXTERNALSYM LINE_REPLY}
LINE_REQUEST = 13;
{$EXTERNALSYM LINE_REQUEST}
PHONE_BUTTON = 14;
{$EXTERNALSYM PHONE_BUTTON}
PHONE_CLOSE = 15;
{$EXTERNALSYM PHONE_CLOSE}
PHONE_DEVSPECIFIC = 16;
{$EXTERNALSYM PHONE_DEVSPECIFIC}
PHONE_REPLY = 17;
{$EXTERNALSYM PHONE_REPLY}
PHONE_STATE = 18;
{$EXTERNALSYM PHONE_STATE}
LINE_CREATE = 19; // TAPI v1.4
{$EXTERNALSYM LINE_CREATE}
PHONE_CREATE = 20; // TAPI v1.4
{$EXTERNALSYM PHONE_CREATE}
{$IFDEF TAPI20}
LINE_AGENTSPECIFIC = 21; // TAPI v2.0
{$EXTERNALSYM LINE_AGENTSPECIFIC}
LINE_AGENTSTATUS = 22; // TAPI v2.0
{$EXTERNALSYM LINE_AGENTSTATUS}
LINE_APPNEWCALL = 23; // TAPI v2.0
{$EXTERNALSYM LINE_APPNEWCALL}
LINE_PROXYREQUEST = 24; // TAPI v2.0
{$EXTERNALSYM LINE_PROXYREQUEST}
LINE_REMOVE = 25; // TAPI v2.0
{$EXTERNALSYM LINE_REMOVE}
PHONE_REMOVE = 26; // TAPI v2.0
{$EXTERNALSYM PHONE_REMOVE}
{$ENDIF}
{$IFDEF TAPI22}
LINE_AGENTSESSIONSTATUS = 27; // TAPI v2.2
{$EXTERNALSYM LINE_AGENTSESSIONSTATUS}
LINE_QUEUESTATUS = 28; // TAPI v2.2
{$EXTERNALSYM LINE_QUEUESTATUS}
LINE_AGENTSTATUSEX = 29; // TAPI v2.2
{$EXTERNALSYM LINE_AGENTSTATUSEX}
LINE_GROUPSTATUS = 30; // TAPI v2.2
{$EXTERNALSYM LINE_GROUPSTATUS}
LINE_PROXYSTATUS = 31; // TAPI v2.2
{$EXTERNALSYM LINE_PROXYSTATUS}
{$ENDIF}
{$IFDEF TAPI30}
LINE_APPNEWCALLHUB = 32; // TAPI v3.0
{$EXTERNALSYM LINE_APPNEWCALLHUB}
LINE_CALLHUBCLOSE = 33; // TAPI v3.0
{$EXTERNALSYM LINE_CALLHUBCLOSE}
LINE_DEVSPECIFICEX = 34; // TAPI v3.0
{$EXTERNALSYM LINE_DEVSPECIFICEX}
{$ENDIF}
INITIALIZE_NEGOTIATION = DWORD($FFFFFFFF);
{$EXTERNALSYM INITIALIZE_NEGOTIATION}
LINEADDRCAPFLAGS_FWDNUMRINGS = $00000001;
{$EXTERNALSYM LINEADDRCAPFLAGS_FWDNUMRINGS}
LINEADDRCAPFLAGS_PICKUPGROUPID = $00000002;
{$EXTERNALSYM LINEADDRCAPFLAGS_PICKUPGROUPID}
LINEADDRCAPFLAGS_SECURE = $00000004;
{$EXTERNALSYM LINEADDRCAPFLAGS_SECURE}
LINEADDRCAPFLAGS_BLOCKIDDEFAULT = $00000008;
{$EXTERNALSYM LINEADDRCAPFLAGS_BLOCKIDDEFAULT}
LINEADDRCAPFLAGS_BLOCKIDOVERRIDE = $00000010;
{$EXTERNALSYM LINEADDRCAPFLAGS_BLOCKIDOVERRIDE}
LINEADDRCAPFLAGS_DIALED = $00000020;
{$EXTERNALSYM LINEADDRCAPFLAGS_DIALED}
LINEADDRCAPFLAGS_ORIGOFFHOOK = $00000040;
{$EXTERNALSYM LINEADDRCAPFLAGS_ORIGOFFHOOK}
LINEADDRCAPFLAGS_DESTOFFHOOK = $00000080;
{$EXTERNALSYM LINEADDRCAPFLAGS_DESTOFFHOOK}
LINEADDRCAPFLAGS_FWDCONSULT = $00000100;
{$EXTERNALSYM LINEADDRCAPFLAGS_FWDCONSULT}
LINEADDRCAPFLAGS_SETUPCONFNULL = $00000200;
{$EXTERNALSYM LINEADDRCAPFLAGS_SETUPCONFNULL}
LINEADDRCAPFLAGS_AUTORECONNECT = $00000400;
{$EXTERNALSYM LINEADDRCAPFLAGS_AUTORECONNECT}
LINEADDRCAPFLAGS_COMPLETIONID = $00000800;
{$EXTERNALSYM LINEADDRCAPFLAGS_COMPLETIONID}
LINEADDRCAPFLAGS_TRANSFERHELD = $00001000;
{$EXTERNALSYM LINEADDRCAPFLAGS_TRANSFERHELD}
LINEADDRCAPFLAGS_TRANSFERMAKE = $00002000;
{$EXTERNALSYM LINEADDRCAPFLAGS_TRANSFERMAKE}
LINEADDRCAPFLAGS_CONFERENCEHELD = $00004000;
{$EXTERNALSYM LINEADDRCAPFLAGS_CONFERENCEHELD}
LINEADDRCAPFLAGS_CONFERENCEMAKE = $00008000;
{$EXTERNALSYM LINEADDRCAPFLAGS_CONFERENCEMAKE}
LINEADDRCAPFLAGS_PARTIALDIAL = $00010000;
{$EXTERNALSYM LINEADDRCAPFLAGS_PARTIALDIAL}
LINEADDRCAPFLAGS_FWDSTATUSVALID = $00020000;
{$EXTERNALSYM LINEADDRCAPFLAGS_FWDSTATUSVALID}
LINEADDRCAPFLAGS_FWDINTEXTADDR = $00040000;
{$EXTERNALSYM LINEADDRCAPFLAGS_FWDINTEXTADDR}
LINEADDRCAPFLAGS_FWDBUSYNAADDR = $00080000;
{$EXTERNALSYM LINEADDRCAPFLAGS_FWDBUSYNAADDR}
LINEADDRCAPFLAGS_ACCEPTTOALERT = $00100000;
{$EXTERNALSYM LINEADDRCAPFLAGS_ACCEPTTOALERT}
LINEADDRCAPFLAGS_CONFDROP = $00200000;
{$EXTERNALSYM LINEADDRCAPFLAGS_CONFDROP}
LINEADDRCAPFLAGS_PICKUPCALLWAIT = $00400000;
{$EXTERNALSYM LINEADDRCAPFLAGS_PICKUPCALLWAIT}
{$IFDEF TAPI20}
LINEADDRCAPFLAGS_PREDICTIVEDIALER = $00800000; // TAPI v2.0
{$EXTERNALSYM LINEADDRCAPFLAGS_PREDICTIVEDIALER}
LINEADDRCAPFLAGS_QUEUE = $01000000; // TAPI v2.0
{$EXTERNALSYM LINEADDRCAPFLAGS_QUEUE}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -