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

📄 tltapi.pas

📁 该源代码是有关modem 拨号
💻 PAS
📖 第 1 页 / 共 5 页
字号:
{ Translated 25/11/96 by Alexander Staubo <alex@image.no>

  Translator's Notes:
  -------------------
  - Version define TAPI_CURRENT_VERSION has been converted to a constant
    and conditional code depending on this value changed to the conditional
    define "Tapi_Ver20".

  - Type aliases for UNICODE omitted.

  - Output pointer arguments such as LPDWORD have not been converted to
    "var" parameters. It would require looking up every TAPI function in the
    SDK help files and verifying each parameter, since a nil value may be
    passed for some of these parameters. Anyone interested?

  - The TapiCheck() function does not, for some reason, produce a valid error
    message. Until this is fixed, access the error codes (LINEERR_, PHONEERR_
    etc.) directly.

  - The TapiError() function assumes that TAPI error codes are always negative;
    I am not sure if this rule is consistently implemented throughout TAPI,
    although I think is.

  - Constructs and text introduced by translator is prefixed with the
    characters "!!".

  - Original time stamp of tapi.h: 09-aug-96 00:30


  Revision History
  ----------------
    25/11/96 -AS  Initial translation.
    15/03/98 -by Jury Kornienko
             TapiCheck() function is corrected according comments.
             It implements direct access to error codes. See below.
    24/03/98 -by Jury Kornienko
             GetIcon, GetIconA, GetIconW have been changed.
}

{!! The following define enables support for TAPI 2.0 }
{$DEFINE Tapi_Ver20}

unit TLTapi;

(*++ 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").

--*)

interface

uses
  Windows, Messages;

//
//  -- 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 $00010004
//
//

const
  TAPI_CURRENT_VERSION = $00020000;

{$ALIGN OFF}       //!! Added; all records implicitly declared as "packed"

{!! The above line should correspond to:

#pragma pack(1)
// Type definitions of the data types used in tapi

}

type
  {!! C compatibility types, added }
  INT = Longint;
  LONG = Longint;
  LPVOID = Pointer;
  HINSTANCE = THandle;
  {!!}

//
// TAPI type definitions
//

type
  HCALL__ =
    record
      unused : INT;
    end;
  HCALL = HCALL__;
  LPHCALL = ^HCALL;

  HLINE__ =
    record
      unused : INT;
    end;
  HLINE = HLINE__;
  LPHLINE = ^HLINE;

  HPHONE__ =
    record
      unused : INT;
    end;
  HPHONE = HPHONE__;
  LPHPHONE = ^HPHONE;

  HLINEAPP__ =
    record
      unused : INT;
    end;
  HLINEAPP = HLINEAPP__;
  LPHLINEAPP = ^HLINEAPP;

  HPHONEAPP__ =
    record
      unused : INT;
    end;
  HPHONEAPP = HPHONEAPP__;
  LPHPHONEAPP = ^HPHONEAPP;

  LPHICON = ^HICON;

  TLINECALLBACK = procedure (hDevice,
                             dwMessage,
                             dwInstance,
                             dwParam1,
                             dwParam2,
                             dwParam3 : DWORD); stdcall;

  TPHONECALLBACK = procedure (hDevice,
                              dwMessage,
                              dwInstance,
                              dwParam1,
                              dwParam2,
                              dwParam3 : DWORD); stdcall;


// Messages for Phones and Lines

const
  LINE_ADDRESSSTATE                       = 0;
  LINE_CALLINFO                           = 1;
  LINE_CALLSTATE                          = 2;
  LINE_CLOSE                              = 3;
  LINE_DEVSPECIFIC                        = 4;
  LINE_DEVSPECIFICFEATURE                 = 5;
  LINE_GATHERDIGITS                       = 6;
  LINE_GENERATE                           = 7;
  LINE_LINEDEVSTATE                       = 8;
  LINE_MONITORDIGITS                      = 9;
  LINE_MONITORMEDIA                       = 10;
  LINE_MONITORTONE                        = 11;
  LINE_REPLY                              = 12;
  LINE_REQUEST                            = 13;
  PHONE_BUTTON                            = 14;
  PHONE_CLOSE                             = 15;
  PHONE_DEVSPECIFIC                       = 16;
  PHONE_REPLY                             = 17;
  PHONE_STATE                             = 18;
  LINE_CREATE                             = 19;             // TAPI v1.4
  PHONE_CREATE                            = 20;             // TAPI v1.4

{$IFDEF Tapi_Ver20}
  LINE_AGENTSPECIFIC                      = 21;            // TAPI v2.0
  LINE_AGENTSTATUS                        = 22;            // TAPI v2.0
  LINE_APPNEWCALL                         = 23;            // TAPI v2.0
  LINE_PROXYREQUEST                       = 24;            // TAPI v2.0
  LINE_REMOVE                             = 25;            // TAPI v2.0
  PHONE_REMOVE                            = 26;            // TAPI v2.0
{$ENDIF}


  INITIALIZE_NEGOTIATION                  = $FFFFFFFF;

  LINEADDRCAPFLAGS_FWDNUMRINGS            = $00000001;
  LINEADDRCAPFLAGS_PICKUPGROUPID          = $00000002;
  LINEADDRCAPFLAGS_SECURE                 = $00000004;
  LINEADDRCAPFLAGS_BLOCKIDDEFAULT         = $00000008;
  LINEADDRCAPFLAGS_BLOCKIDOVERRIDE        = $00000010;
  LINEADDRCAPFLAGS_DIALED                 = $00000020;
  LINEADDRCAPFLAGS_ORIGOFFHOOK            = $00000040;
  LINEADDRCAPFLAGS_DESTOFFHOOK            = $00000080;
  LINEADDRCAPFLAGS_FWDCONSULT             = $00000100;
  LINEADDRCAPFLAGS_SETUPCONFNULL          = $00000200;
  LINEADDRCAPFLAGS_AUTORECONNECT          = $00000400;
  LINEADDRCAPFLAGS_COMPLETIONID           = $00000800;
  LINEADDRCAPFLAGS_TRANSFERHELD           = $00001000;
  LINEADDRCAPFLAGS_TRANSFERMAKE           = $00002000;
  LINEADDRCAPFLAGS_CONFERENCEHELD         = $00004000;
  LINEADDRCAPFLAGS_CONFERENCEMAKE         = $00008000;
  LINEADDRCAPFLAGS_PARTIALDIAL            = $00010000;
  LINEADDRCAPFLAGS_FWDSTATUSVALID         = $00020000;
  LINEADDRCAPFLAGS_FWDINTEXTADDR          = $00040000;
  LINEADDRCAPFLAGS_FWDBUSYNAADDR          = $00080000;
  LINEADDRCAPFLAGS_ACCEPTTOALERT          = $00100000;
  LINEADDRCAPFLAGS_CONFDROP               = $00200000;
  LINEADDRCAPFLAGS_PICKUPCALLWAIT         = $00400000;
{$IFDEF Tapi_Ver20}
  LINEADDRCAPFLAGS_PREDICTIVEDIALER       = $00800000;      // TAPI v2.0
  LINEADDRCAPFLAGS_QUEUE                  = $01000000;      // TAPI v2.0
  LINEADDRCAPFLAGS_ROUTEPOINT             = $02000000;      // TAPI v2.0
  LINEADDRCAPFLAGS_HOLDMAKESNEW           = $04000000;      // TAPI v2.0
  LINEADDRCAPFLAGS_NOINTERNALCALLS        = $08000000;      // TAPI v2.0
  LINEADDRCAPFLAGS_NOEXTERNALCALLS        = $10000000;      // TAPI v2.0
  LINEADDRCAPFLAGS_SETCALLINGID           = $20000000;      // TAPI v2.0
{$ENDIF}

  LINEADDRESSMODE_ADDRESSID               = $00000001;
  LINEADDRESSMODE_DIALABLEADDR            = $00000002;

  LINEADDRESSSHARING_PRIVATE              = $00000001;
  LINEADDRESSSHARING_BRIDGEDEXCL          = $00000002;
  LINEADDRESSSHARING_BRIDGEDNEW           = $00000004;
  LINEADDRESSSHARING_BRIDGEDSHARED        = $00000008;
  LINEADDRESSSHARING_MONITORED            = $00000010;

  LINEADDRESSSTATE_OTHER                  = $00000001;
  LINEADDRESSSTATE_DEVSPECIFIC            = $00000002;
  LINEADDRESSSTATE_INUSEZERO              = $00000004;
  LINEADDRESSSTATE_INUSEONE               = $00000008;
  LINEADDRESSSTATE_INUSEMANY              = $00000010;
  LINEADDRESSSTATE_NUMCALLS               = $00000020;
  LINEADDRESSSTATE_FORWARD                = $00000040;
  LINEADDRESSSTATE_TERMINALS              = $00000080;
  LINEADDRESSSTATE_CAPSCHANGE             = $00000100;      // TAPI v1.4

  LINEADDRFEATURE_FORWARD                 = $00000001;
  LINEADDRFEATURE_MAKECALL                = $00000002;
  LINEADDRFEATURE_PICKUP                  = $00000004;
  LINEADDRFEATURE_SETMEDIACONTROL         = $00000008;
  LINEADDRFEATURE_SETTERMINAL             = $00000010;
  LINEADDRFEATURE_SETUPCONF               = $00000020;
  LINEADDRFEATURE_UNCOMPLETECALL          = $00000040;
  LINEADDRFEATURE_UNPARK                  = $00000080;
{$IFDEF Tapi_Ver20}
  LINEADDRFEATURE_PICKUPHELD              = $00000100;      // TAPI v2.0
  LINEADDRFEATURE_PICKUPGROUP             = $00000200;      // TAPI v2.0
  LINEADDRFEATURE_PICKUPDIRECT            = $00000400;      // TAPI v2.0
  LINEADDRFEATURE_PICKUPWAITING           = $00000800;      // TAPI v2.0
  LINEADDRFEATURE_FORWARDFWD              = $00001000;      // TAPI v2.0
  LINEADDRFEATURE_FORWARDDND              = $00002000;      // TAPI v2.0
{$ENDIF}

{$IFDEF Tapi_Ver20}
  LINEAGENTFEATURE_SETAGENTGROUP          = $00000001;      // TAPI v2.0
  LINEAGENTFEATURE_SETAGENTSTATE          = $00000002;      // TAPI v2.0
  LINEAGENTFEATURE_SETAGENTACTIVITY       = $00000004;      // TAPI v2.0
  LINEAGENTFEATURE_AGENTSPECIFIC          = $00000008;      // TAPI v2.0
  LINEAGENTFEATURE_GETAGENTACTIVITYLIST   = $00000010;      // TAPI v2.0
  LINEAGENTFEATURE_GETAGENTGROUP          = $00000020;      // TAPI v2.0

  LINEAGENTSTATE_LOGGEDOFF                = $00000001;      // TAPI v2.0
  LINEAGENTSTATE_NOTREADY                 = $00000002;      // TAPI v2.0
  LINEAGENTSTATE_READY                    = $00000004;      // TAPI v2.0
  LINEAGENTSTATE_BUSYACD                  = $00000008;      // TAPI v2.0
  LINEAGENTSTATE_BUSYINCOMING             = $00000010;      // TAPI v2.0
  LINEAGENTSTATE_BUSYOUTBOUND             = $00000020;      // TAPI v2.0
  LINEAGENTSTATE_BUSYOTHER                = $00000040;      // TAPI v2.0
  LINEAGENTSTATE_WORKINGAFTERCALL         = $00000080;      // TAPI v2.0
  LINEAGENTSTATE_UNKNOWN                  = $00000100;      // TAPI v2.0
  LINEAGENTSTATE_UNAVAIL                  = $00000200;      // TAPI v2.0

  LINEAGENTSTATUS_GROUP                   = $00000001;      // TAPI v2.0
  LINEAGENTSTATUS_STATE                   = $00000002;      // TAPI v2.0
  LINEAGENTSTATUS_NEXTSTATE               = $00000004;      // TAPI v2.0
  LINEAGENTSTATUS_ACTIVITY                = $00000008;      // TAPI v2.0
  LINEAGENTSTATUS_ACTIVITYLIST            = $00000010;      // TAPI v2.0
  LINEAGENTSTATUS_GROUPLIST               = $00000020;      // TAPI v2.0
  LINEAGENTSTATUS_CAPSCHANGE              = $00000040;      // TAPI v2.0
  LINEAGENTSTATUS_VALIDSTATES             = $00000080;      // TAPI v2.0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -