tapi.pas
来自「TAPI 编程事例」· PAS 代码 · 共 1,457 行 · 第 1/5 页
PAS
1,457 行
PHONEFEATURE_GETVOLUMEHEADSET = $00002000; { TAPI v2.0 }
PHONEFEATURE_SETBUTTONINFO = $00004000; { TAPI v2.0 }
PHONEFEATURE_SETDATA = $00008000; { TAPI v2.0 }
PHONEFEATURE_SETDISPLAY = $00010000; { TAPI v2.0 }
PHONEFEATURE_SETGAINHANDSET = $00020000; { TAPI v2.0 }
PHONEFEATURE_SETGAINSPEAKER = $00040000; { TAPI v2.0 }
PHONEFEATURE_SETGAINHEADSET = $00080000; { TAPI v2.0 }
PHONEFEATURE_SETHOOKSWITCHHANDSET = $00100000; { TAPI v2.0 }
PHONEFEATURE_SETHOOKSWITCHSPEAKER = $00200000; { TAPI v2.0 }
PHONEFEATURE_SETHOOKSWITCHHEADSET = $00400000; { TAPI v2.0 }
PHONEFEATURE_SETLAMP = $00800000; { TAPI v2.0 }
PHONEFEATURE_SETRING = $01000000; { TAPI v2.0 }
PHONEFEATURE_SETVOLUMEHANDSET = $02000000; { TAPI v2.0 }
PHONEFEATURE_SETVOLUMESPEAKER = $04000000; { TAPI v2.0 }
PHONEFEATURE_SETVOLUMEHEADSET = $08000000; { TAPI v2.0 }
{$ENDIF}
PHONEHOOKSWITCHDEV_HANDSET = $00000001;
PHONEHOOKSWITCHDEV_SPEAKER = $00000002;
PHONEHOOKSWITCHDEV_HEADSET = $00000004;
PHONEHOOKSWITCHMODE_ONHOOK = $00000001;
PHONEHOOKSWITCHMODE_MIC = $00000002;
PHONEHOOKSWITCHMODE_SPEAKER = $00000004;
PHONEHOOKSWITCHMODE_MICSPEAKER = $00000008;
PHONEHOOKSWITCHMODE_UNKNOWN = $00000010;
{$IFDEF TAPI20}
PHONEINITIALIZEEXOPTION_USEHIDDENWINDOW = $00000001; { TAPI v2.0 }
PHONEINITIALIZEEXOPTION_USEEVENT = $00000002; { TAPI v2.0 }
PHONEINITIALIZEEXOPTION_USECOMPLETIONPORT = $00000003; { TAPI v2.0 }
{$ENDIF}
PHONELAMPMODE_DUMMY = $00000001;
PHONELAMPMODE_OFF = $00000002;
PHONELAMPMODE_STEADY = $00000004;
PHONELAMPMODE_WINK = $00000008;
PHONELAMPMODE_FLASH = $00000010;
PHONELAMPMODE_FLUTTER = $00000020;
PHONELAMPMODE_BROKENFLUTTER = $00000040;
PHONELAMPMODE_UNKNOWN = $00000080;
PHONEPRIVILEGE_MONITOR = $00000001;
PHONEPRIVILEGE_OWNER = $00000002;
PHONESTATE_OTHER = $00000001;
PHONESTATE_CONNECTED = $00000002;
PHONESTATE_DISCONNECTED = $00000004;
PHONESTATE_OWNER = $00000008;
PHONESTATE_MONITORS = $00000010;
PHONESTATE_DISPLAY = $00000020;
PHONESTATE_LAMP = $00000040;
PHONESTATE_RINGMODE = $00000080;
PHONESTATE_RINGVOLUME = $00000100;
PHONESTATE_HANDSETHOOKSWITCH = $00000200;
PHONESTATE_HANDSETVOLUME = $00000400;
PHONESTATE_HANDSETGAIN = $00000800;
PHONESTATE_SPEAKERHOOKSWITCH = $00001000;
PHONESTATE_SPEAKERVOLUME = $00002000;
PHONESTATE_SPEAKERGAIN = $00004000;
PHONESTATE_HEADSETHOOKSWITCH = $00008000;
PHONESTATE_HEADSETVOLUME = $00010000;
PHONESTATE_HEADSETGAIN = $00020000;
PHONESTATE_SUSPEND = $00040000;
PHONESTATE_RESUME = $00080000;
PHONESTATE_DEVSPECIFIC = $00100000;
PHONESTATE_REINIT = $00200000;
PHONESTATE_CAPSCHANGE = $00400000; { TAPI v1.4 }
PHONESTATE_REMOVED = $00800000; { TAPI v1.4 }
PHONESTATUSFLAGS_CONNECTED = $00000001;
PHONESTATUSFLAGS_SUSPENDED = $00000002;
STRINGFORMAT_ASCII = $00000001;
STRINGFORMAT_DBCS = $00000002;
STRINGFORMAT_UNICODE = $00000003;
STRINGFORMAT_BINARY = $00000004;
TAPI_REPLY = WM_USER + 99;
TAPIERR_CONNECTED = 0;
TAPIERR_DROPPED = -1;
TAPIERR_NOREQUESTRECIPIENT = -2;
TAPIERR_REQUESTQUEUEFULL = -3;
TAPIERR_INVALDESTADDRESS = -4;
TAPIERR_INVALWINDOWHANDLE = -5;
TAPIERR_INVALDEVICECLASS = -6;
TAPIERR_INVALDEVICEID = -7;
TAPIERR_DEVICECLASSUNAVAIL = -8;
TAPIERR_DEVICEIDUNAVAIL = -9;
TAPIERR_DEVICEINUSE = -10;
TAPIERR_DESTBUSY = -11;
TAPIERR_DESTNOANSWER = -12;
TAPIERR_DESTUNAVAIL = -13;
TAPIERR_UNKNOWNWINHANDLE = -14;
TAPIERR_UNKNOWNREQUESTID = -15;
TAPIERR_REQUESTFAILED = -16;
TAPIERR_REQUESTCANCELLED = -17;
TAPIERR_INVALPOINTER = -18;
TAPIMAXDESTADDRESSSIZE = 80;
TAPIMAXAPPNAMESIZE = 40;
TAPIMAXCALLEDPARTYSIZE = 40;
TAPIMAXCOMMENTSIZE = 80;
TAPIMAXDEVICECLASSSIZE = 40;
TAPIMAXDEVICEIDSIZE = 40;
type
LPLineAddressCaps = ^TLineAddressCaps;
TLineAddressCaps = record
dwTotalSize,
dwNeededSize,
dwUsedSize,
dwLineDeviceID,
dwAddressSize,
dwAddressOffset,
dwDevSpecificSize,
dwDevSpecificOffset,
dwAddressSharing,
dwAddressStates,
dwCallInfoStates,
dwCallerIDFlags,
dwCalledIDFlags,
dwConnectedIDFlags,
dwRedirectionIDFlags,
dwRedirectingIDFlags,
dwCallStates,
dwDialToneModes,
dwBusyModes,
dwSpecialInfo,
dwDisconnectModes,
dwMaxNumActiveCalls,
dwMaxNumOnHoldCalls,
dwMaxNumOnHoldPendingCalls,
dwMaxNumConference,
dwMaxNumTransConf,
dwAddrCapFlags,
dwCallFeatures,
dwRemoveFromConfCaps,
dwRemoveFromConfState,
dwTransferModes,
dwParkModes,
dwForwardModes,
dwMaxForwardEntries,
dwMaxSpecificEntries,
dwMinFwdNumRings,
dwMaxFwdNumRings,
dwMaxCallCompletions,
dwCallCompletionConds,
dwCallCompletionModes,
dwNumCompletionMessages,
dwCompletionMsgTextEntrySize,
dwCompletionMsgTextSize,
dwCompletionMsgTextOffset,
dwAddressFeatures: Longint; { TAPI v1.4 }
{$IFDEF TAPI20}
dwPredictiveAutoTransferStates, { TAPI v2.0 }
dwNumCallTreatments, { TAPI v2.0 }
dwCallTreatmentListSize, { TAPI v2.0 }
dwCallTreatmentListOffset, { TAPI v2.0 }
dwDeviceClassesSize, { TAPI v2.0 }
dwDeviceClassesOffset, { TAPI v2.0 }
dwMaxCallDataSize, { TAPI v2.0 }
dwCallFeatures2, { TAPI v2.0 }
dwMaxNoAnswerTimeout, { TAPI v2.0 }
dwConnectedModes, { TAPI v2.0 }
dwOfferingModes, { TAPI v2.0 }
dwAvailableMediaModes: Longint; { TAPI v2.0 }
{$ENDIF}
end;
LPLineAddressStatus = ^TLineAddressStatus;
TLineAddressStatus = record
dwTotalSize,
dwNeededSize,
dwUsedSize,
dwNumInUse,
dwNumActiveCalls,
dwNumOnHoldCalls,
dwNumOnHoldPendCalls,
dwAddressFeatures,
dwNumRingsNoAnswer,
dwForwardNumEntries,
dwForwardSize,
dwForwardOffset,
dwTerminalModesSize,
dwTerminalModesOffset,
dwDevSpecificSize,
dwDevSpecificOffset: Longint;
end;
{$IFDEF TAPI20}
LPLineAgentActivityEntry = ^TLineAgentActivityEntry;
TLineAgentActivityEntry = record
dwID, { TAPI v2.0 }
dwNameSize, { TAPI v2.0 }
dwNameOffset: Longint; { TAPI v2.0 }
end;
LPLineAgentActivityList = ^TLineAgentActivityList;
TLineAgentActivityList = record
dwTotalSize, { TAPI v2.0 }
dwNeededSize, { TAPI v2.0 }
dwUsedSize, { TAPI v2.0 }
dwNumEntries, { TAPI v2.0 }
dwListSize, { TAPI v2.0 }
dwListOffset: Longint; { TAPI v2.0 }
end;
LPLineAgentCaps = ^TLineAgentCaps;
TLineAgentCaps = record
dwTotalSize, { TAPI v2.0 }
dwNeededSize, { TAPI v2.0 }
dwUsedSize, { TAPI v2.0 }
dwAgentHandlerInfoSize, { TAPI v2.0 }
dwAgentHandlerInfoOffset, { TAPI v2.0 }
dwCapsVersion, { TAPI v2.0 }
dwFeatures, { TAPI v2.0 }
dwStates, { TAPI v2.0 }
dwNextStates, { TAPI v2.0 }
dwMaxNumGroupEntries, { TAPI v2.0 }
dwAgentStatusMessages, { TAPI v2.0 }
dwNumAgentExtensionIDs, { TAPI v2.0 }
dwAgentExtensionIDListSize, { TAPI v2.0 }
dwAgentExtensionIDListOffset: Longint; { TAPI v2.0 }
end;
LPLineAgentGroupEntry = ^TLineAgentGroupEntry;
TLineAgentGroupEntry = record
GroupID: record
dwGroupID1, { TAPI v2.0 }
dwGroupID2, { TAPI v2.0 }
dwGroupID3, { TAPI v2.0 }
dwGroupID4: Longint; { TAPI v2.0 }
end;
dwNameSize, { TAPI v2.0 }
dwNameOffset: Longint; { TAPI v2.0 }
end;
LPLineAgentGroupList = ^TLineAgentGroupList;
TLineAgentGroupList = record
dwTotalSize, { TAPI v2.0 }
dwNeededSize, { TAPI v2.0 }
dwUsedSize, { TAPI v2.0 }
dwNumEntries, { TAPI v2.0 }
dwListSize, { TAPI v2.0 }
dwListOffset: Longint; { TAPI v2.0 }
end;
LPLineAgentStatus = ^TLineAgentStatus;
TLineAgentStatus = record
dwTotalSize, { TAPI v2.0 }
dwNeededSize, { TAPI v2.0 }
dwUsedSize, { TAPI v2.0 }
dwNumEntries, { TAPI v2.0 }
dwGroupListSize, { TAPI v2.0 }
dwGroupListOffset, { TAPI v2.0 }
dwState, { TAPI v2.0 }
dwNextState, { TAPI v2.0 }
dwActivityID, { TAPI v2.0 }
dwActivitySize, { TAPI v2.0 }
dwActivityOffset, { TAPI v2.0 }
dwAgentFeatures, { TAPI v2.0 }
dwValidStates, { TAPI v2.0 }
dwValidNextStates: Longint; { TAPI v2.0 }
end;
LPLineAppInfo = ^TLineAppInfo;
TLineAppInfo = record
dwMachineNameSize, { TAPI v2.0 }
dwMachineNameOffset, { TAPI v2.0 }
dwUserNameSize, { TAPI v2.0 }
dwUserNameOffset, { TAPI v2.0 }
dwModuleFilenameSize, { TAPI v2.0 }
dwModuleFilenameOffset, { TAPI v2.0 }
dwFriendlyNameSize, { TAPI v2.0 }
dwFriendlyNameOffset, { TAPI v2.0 }
dwMediaModes, { TAPI v2.0 }
dwAddressID: Longint; { TAPI v2.0 }
end;
{$ENDIF}
LPLineDialParams = ^TLineDialParams;
TLineDialParams = record
dwDialPause,
dwDialSpeed,
dwDigitDuration,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?