⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tapi.par

📁 电话应用编程接口的pas文件。 The directives can be controlled using the Tapi.inc include file which is included
💻 PAR
📖 第 1 页 / 共 5 页
字号:
{******************************************************************}
{                                                                  }
{       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 + -