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

📄 uniinterface_tapi.pas

📁 很好用的串口通信工具软件。Comport目录下是用到的通信控件。
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    DigitDuration   : DWORD;
    WaitForDialtone : DWORD;
  end;

  {Line device capabilities}
  PLineDevCaps = ^TLineDevCaps;
  TLineDevCaps = record
    case Integer of
      0: (TotalSize                  : DWORD;
          NeededSize                 : DWORD;
          UsedSize                   : DWORD;
          ProviderInfoSize           : DWORD;
          ProviderInfoOffset         : DWORD;
          SwitchInfoSize             : DWORD;
          SwitchInfoOffset           : DWORD;
          PermanentLineID            : DWORD;
          LineNameSize               : DWORD;
          LineNameOffset             : DWORD;
          StringFormat               : DWORD;
          AddressModes               : DWORD;
          NumAddresses               : DWORD;
          BearerModes                : DWORD;
          MaxRate                    : DWORD;
          MediaModes                 : DWORD;
          GenerateToneModes          : DWORD;
          GenerateToneMaxNumFreq     : DWORD;
          GenerateDigitModes         : DWORD;
          MonitorToneMaxNumFreq      : DWORD;
          MonitorToneMaxNumEntries   : DWORD;
          MonitorDigitModes          : DWORD;
          GatherDigitsMinTimeout     : DWORD;
          GatherDigitsMaxTimeout     : DWORD;
          MedCtlDigitMaxListSize     : DWORD;
          MedCtlMediaMaxListSize     : DWORD;
          MedCtlToneMaxListSize      : DWORD;
          MedCtlCallStateMaxListSize : DWORD;
          DevCapFlags                : DWORD;
          MaxNumActiveCalls          : DWORD;
          AnswerMode                 : DWORD;
          RingModes                  : DWORD;
          LineStates                 : DWORD;
          UUIAcceptSize              : DWORD;
          UUIAnswerSize              : DWORD;
          UUIMakeCallSize            : DWORD;
          UUIdropSize                : DWORD;
          UUISendUserUserInfoSize    : DWORD;
          UUICallInfoSize            : DWORD;
          MinDialParams              : TLineDialParams;
          MaxDialParams              : TLineDialParams;
          DefaultDialParams          : TLineDialParams;
          NumTerminals               : DWORD;
          TerminalCapsSize           : DWORD;
          TerminalCapsOffset         : DWORD;
          TerminalTextEntrySize      : DWORD;
          TerminalTextSize           : DWORD;
          TerminalTextOffset         : DWORD;
          DevSpecificSize            : DWORD;
          DevSpecificOffset          : DWORD;
          LineFeatures               : DWORD;
          EndMark                    : Integer);
      1: (Data                       : array[0..65520] of Char);
  end;

  {Line call parameters}
  PLineCallParams = ^TLineCallParams;
  TLineCallParams = record
    TotalSize                : DWORD;
    BearerMode               : DWORD;
    MinRate                  : DWORD;
    MaxRate                  : DWORD;
    MediaMode                : DWORD;
    CallParamFlags           : DWORD;
    AddressMode              : DWORD;
    AddressID                : DWORD;
    DialParams               : TLineDialParams;
    OrigAddressSize          : DWORD;
    OrigAddressOffset        : DWORD;
    DisplayableAddressSize   : DWORD;
    DisplayableAddressOffset : DWORD;
    CalledPartySize          : DWORD;
    CalledPartyOffset        : DWORD;
    CommentSize              : DWORD;
    CommentOffset            : DWORD;
    UserUserInfoSize         : DWORD;
    UserUserInfoOffset       : DWORD;
    HighLevelCompSize        : DWORD;
    HighLevelCompOffset      : DWORD;
    LowLevelCompSize         : DWORD;
    LowLevelCompOffset       : DWORD;
    DevSpecificSize          : DWORD;
    DevSpecificOffset        : DWORD;
  end;

  {Line address status info}
  PLineAddressStatus = ^TLineAddressStatus;
  TLineAddressStatus = record
    TotalSize           : DWORD;
    NeededSize          : DWORD;
    UsedSize            : DWORD;
    NumInUse            : DWORD;
    NumActiveCalls      : DWORD;
    NumOnHoldCalls      : DWORD;
    NumOnHoldPendCalls  : DWORD;
    AddressFeatures     : DWORD;
    NumRingsNoAnswer    : DWORD;
    ForwardNumEntries   : DWORD;
    ForwardSize         : DWORD;
    ForwardOffset       : DWORD;
    TerminalModesSize   : DWORD;
    TerminalModesOffset : DWORD;
    DevSpecificSize     : DWORD;
    DevSpecificOffset   : DWORD;
  end;

  {Other types}
  TLineApp  = LongInt;
  PLineApp  = ^TLineApp;
  TLine     =  LongInt;
  PLine     = ^TLine;
  TCall     = LongInt;
  PCall     = ^TCall;

  {Line call information}
  PCallInfo = ^TCallInfo;
  TCallInfo = record
    case Integer of
    0 : (TotalSize               : DWORD;
         NeededSize              : DWORD;
         UsedSize                : DWORD;
         Line                    : TLine;
         LineDeviceID            : DWORD;
         AddressID               : DWORD;
         BearerMode              : DWORD;
         Rate                    : DWORD;
         MediaMode               : DWORD;
         AppSpecific             : DWORD;
         CallID                  : DWORD;
         RelatedCallID           : DWORD;
         CallParamFlags          : DWORD;
         CallStates              : DWORD;
         MonitorDigitModes       : DWORD;
         MonitorMediaModes       : DWORD;
         DialParams              : TLineDialParams;
         Origin                  : DWORD;
         Reason                  : DWORD;
         CompletionID            : DWORD;
         NumOwners               : DWORD;
         NumMonitors             : DWORD;
         CountryCode             : DWORD;
         Trunk                   : DWORD;
         CallerIDFlags           : DWORD;
         CallerIDSize            : DWORD;
         CallerIDOffset          : DWORD;
         CallerIDNameSize        : DWORD;
         CallerIDNameOffset      : DWORD;
         CalledIDFlags           : DWORD;
         CalledIDSize            : DWORD;
         CalledIDOffset          : DWORD;
         CalledIDNameSize        : DWORD;
         CalledIDNameOffset      : DWORD;
         ConnectedIDdFlags        : DWORD;
         ConnectedIDSize         : DWORD;
         ConnectedIDOffset       : DWORD;
         ConnectedIDNameSize     : DWORD;
         ConnectedIDNameOffset   : DWORD;
         RedirectionIDFlags      : DWORD;
         RedirectionIDSize       : DWORD;
         RedirectionIDOffset     : DWORD;
         RedirectionIDNameSize   : DWORD;
         RedirectionIDNameOffset : DWORD;
         RedirectingIDFlags      : DWORD;
         RedirectingIDSize       : DWORD;
         RedirectingIDOffset     : DWORD;
         RedirectingIDNameSize   : DWORD;
         RedirectingIDNameOffset : DWORD;
         AppNameSize             : DWORD;
         AppNameOffset           : DWORD;
         DisplayableAddressSize  : DWORD;
         DisplayableAddressOffset: DWORD;
         CalledPartySize         : DWORD;
         CalledPartyOffset       : DWORD;
         CommentSize             : DWORD;
         CommentOffset           : DWORD;
         DisplaySize             : DWORD;
         DisplayOffset           : DWORD;
         UserUserInfoSize        : DWORD;
         UserUserInfoOffset      : DWORD;
         HighLevelCompSize       : DWORD;
         HighLevelCompOffset     : DWORD;
         LowLevelCompSize        : DWORD;
         LowLevelCompOffset      : DWORD;
         ChargingInfoSize        : DWORD;
         ChargingInfoOffset      : DWORD;
         TerminalModesSize       : DWORD;
         TerminalModesOffset     : DWORD;
         DevSpecificSize         : DWORD;
         DevSpecificOffset       : DWORD;
         EndMark                 : Integer);
    1 : (Data                    : array[0..65520] of Byte);
  end;

  {More line call information}
  PCallStatus = ^TCallStatus;
  TCallStatus = record
    case Integer of
      0 : (TotalSize          : DWORD;
           NeededSize         : DWORD;
           UsedSize           : DWORD;
           CallState          : DWORD;
           CallStateMode      : DWORD;
           CallPrivilege      : DWORD;
           CallFeatures       : DWORD;
           DevSpecificSize    : DWORD;
           DevSpecificOffset  : DWORD;
           EndMark            : DWORD);
      1 : (Data               : array[0..65520] of Byte);
  end;

  {Structure for LineTranslateAddress results}                      
  PLineTranslateOutput = ^TLineTranslateOutput;
  TLineTranslateOutput = record
    case Integer of
      0 : (TotalSize                : DWORD;
           NeededSize               : DWORD;
           UsedSize                 : DWORD;
           DialableStringSize       : DWORD;
           DialableStringOffset     : DWORD;
           DisplayableStringSize    : DWORD;
           DisplayableStringOffset  : DWORD;
           CurrentCountry           : DWORD;
           DestCountry              : DWORD;
           TranslateResults         : DWORD;
           EndMark                  : DWORD);
      1 : (Data                     : array[0..65520] of Byte);
  end;

  {Structure for LineTranslateCaps }                                
  PLineTranslateCaps = ^TLineTranslateCaps;
  TLineTranslateCaps = record
    case Integer of
      0 : (TotalSize              : DWORD;
          NeededSize              : DWORD;
          UsedSize                : DWORD;
          NumLocations            : DWORD;
          LocationListSize        : DWORD;
          LocationListOffset      : DWORD;
          CurrentLocationID       : DWORD;
          NumCards                : DWORD;
          CardListSize            : DWORD;
          CardListOffset          : DWORD;
          CurrentPreferredCardID  : DWORD;
          EndMark                 : DWORD);
      1 : (Data                     : array[0..65520] of Byte);
  end;

  PLineMonitorTone = ^TLineMonitorTone;                             
  TLineMonitorTone = record
    AppSpecific  : DWORD;
    Duration     : DWORD;
    Frequency1   : DWORD;
    Frequency2   : DWORD;
    Frequency3   : DWORD;
  end;

  PLineGenerateTone = ^TLineGenerateTone;                           
  TLineGenerateTone = record
    Frequency   : DWORD;
    CadenceOn   : DWORD;
    CadenceOff  : DWORD;
    Volume      : DWORD;
  end;

  {Callback procedure type}
  TLineCallback = procedure(Device   : LongInt;                        
                            Message  : LongInt;                        
                            Instance : LongInt;                        
                            Param1   : LongInt;                        
                            Param2   : LongInt;                        
                            Param3   : LongInt)
                            stdcall;

  {Tapi function types}
  TLineInitialize = function(var LineApp : TLineApp;
                             Instance : THandle;
                             Callback : TLineCallback;
                             AppName : PChar;
                             var NumDevs : DWORD) : LongInt
                             stdcall;

  TLineShutdown = function(LineApp : TLineApp) : LongInt
                             stdcall;

  TLineNegotiateApiVersion = function (LineApp : TLineApp;
                                      DeviceID : LongInt;
                                      APILowVersion : LongInt;
                                      APIHighVersion : LongInt;
                                      var ApiVersion : LongInt;
                                      var LE : TLineExtensionID) : LongInt
                                      stdcall;

  TLineGetDevCaps = function(LineApp : TLineApp;
                             DeviceID : DWORD;
                             ApiVersion : DWORD;
                             ExtVersion : DWORD;
                             LineDevCaps : PLineDevCaps) : LongInt
                             stdcall;

⌨️ 快捷键说明

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