📄 tapi.h
字号:
DWORD dwFrequency3;
DWORD dwMediaControl;
} LINEMEDIACONTROLTONE, FAR *LPLINEMEDIACONTROLTONE;
#define LINEMEDIACONTROL_NONE 0x00000001
#define LINEMEDIACONTROL_START 0x00000002
#define LINEMEDIACONTROL_RESET 0x00000004
#define LINEMEDIACONTROL_PAUSE 0x00000008
#define LINEMEDIACONTROL_RESUME 0x00000010
#define LINEMEDIACONTROL_RATEUP 0x00000020
#define LINEMEDIACONTROL_RATEDOWN 0x00000040
#define LINEMEDIACONTROL_RATENORMAL 0x00000080
#define LINEMEDIACONTROL_VOLUMEUP 0x00000100
#define LINEMEDIACONTROL_VOLUMEDOWN 0x00000200
#define LINEMEDIACONTROL_VOLUMENORMAL 0x00000400
#define LINEMEDIAMODE_UNKNOWN 0x00000002
#define LINEMEDIAMODE_INTERACTIVEVOICE 0x00000004
#define LINEMEDIAMODE_AUTOMATEDVOICE 0x00000008
#define LINEMEDIAMODE_DATAMODEM 0x00000010
#define LINEMEDIAMODE_G3FAX 0x00000020
#define LINEMEDIAMODE_TDD 0x00000040
#define LINEMEDIAMODE_G4FAX 0x00000080
#define LINEMEDIAMODE_DIGITALDATA 0x00000100
#define LINEMEDIAMODE_TELETEX 0x00000200
#define LINEMEDIAMODE_VIDEOTEX 0x00000400
#define LINEMEDIAMODE_TELEX 0x00000800
#define LINEMEDIAMODE_MIXED 0x00001000
#define LINEMEDIAMODE_ADSI 0x00002000
#define LINEMEDIAMODE_VOICEVIEW 0x00004000
#define LAST_LINEMEDIAMODE 0x00004000
typedef struct linemonitortone_tag {
DWORD dwAppSpecific;
DWORD dwDuration;
DWORD dwFrequency1;
DWORD dwFrequency2;
DWORD dwFrequency3;
} LINEMONITORTONE, FAR *LPLINEMONITORTONE;
#define LINEPARKMODE_DIRECTED 0x00000001
#define LINEPARKMODE_NONDIRECTED 0x00000002
#define LINEREMOVEFROMCONF_NONE 0x00000001
#define LINEREMOVEFROMCONF_LAST 0x00000002
#define LINEREMOVEFROMCONF_ANY 0x00000003
typedef struct linereqmakecall_tag {
char szDestAddress[TAPIMAXDESTADDRESSSIZE];
char szAppName[TAPIMAXAPPNAMESIZE];
char szCalledParty[TAPIMAXCALLEDPARTYSIZE];
char szComment[TAPIMAXCOMMENTSIZE];
} LINEREQMAKECALL, FAR *LPLINEREQMAKECALL;
typedef struct linereqmediacall_tag {
HWND hWnd;
WPARAM wRequestID;
char szDeviceClass[TAPIMAXDEVICECLASSSIZE];
unsigned char ucDeviceID[TAPIMAXDEVICEIDSIZE];
DWORD dwSize;
DWORD dwSecure;
char szDestAddress[TAPIMAXDESTADDRESSSIZE];
char szAppName[TAPIMAXAPPNAMESIZE];
char szCalledParty[TAPIMAXCALLEDPARTYSIZE];
char szComment[TAPIMAXCOMMENTSIZE];
} LINEREQMEDIACALL, FAR *LPLINEREQMEDIACALL;
#define LINEREQUESTMODE_MAKECALL 0x00000001
#define LINEREQUESTMODE_MEDIACALL 0x00000002
#define LINEREQUESTMODE_DROP 0x00000004
#define LAST_LINEREQUESTMODE LINEREQUESTMODE_MEDIACALL
#define LINEROAMMODE_UNKNOWN 0x00000001
#define LINEROAMMODE_UNAVAIL 0x00000002
#define LINEROAMMODE_HOME 0x00000004
#define LINEROAMMODE_ROAMA 0x00000008
#define LINEROAMMODE_ROAMB 0x00000010
#define LINESPECIALINFO_NOCIRCUIT 0x00000001
#define LINESPECIALINFO_CUSTIRREG 0x00000002
#define LINESPECIALINFO_REORDER 0x00000004
#define LINESPECIALINFO_UNKNOWN 0x00000008
#define LINESPECIALINFO_UNAVAIL 0x00000010
typedef struct linetermcaps_tag {
DWORD dwTermDev;
DWORD dwTermModes;
DWORD dwTermSharing;
} LINETERMCAPS, FAR *LPLINETERMCAPS;
#define LINETERMDEV_PHONE 0x00000001
#define LINETERMDEV_HEADSET 0x00000002
#define LINETERMDEV_SPEAKER 0x00000004
#define LINETERMMODE_BUTTONS 0x00000001
#define LINETERMMODE_LAMPS 0x00000002
#define LINETERMMODE_DISPLAY 0x00000004
#define LINETERMMODE_RINGER 0x00000008
#define LINETERMMODE_HOOKSWITCH 0x00000010
#define LINETERMMODE_MEDIATOLINE 0x00000020
#define LINETERMMODE_MEDIAFROMLINE 0x00000040
#define LINETERMMODE_MEDIABIDIRECT 0x00000080
#define LINETERMSHARING_PRIVATE 0x00000001
#define LINETERMSHARING_SHAREDEXCL 0x00000002
#define LINETERMSHARING_SHAREDCONF 0x00000004
#define LINETONEMODE_CUSTOM 0x00000001
#define LINETONEMODE_RINGBACK 0x00000002
#define LINETONEMODE_BUSY 0x00000004
#define LINETONEMODE_BEEP 0x00000008
#define LINETONEMODE_BILLING 0x00000010
#define LINETRANSFERMODE_TRANSFER 0x00000001
#define LINETRANSFERMODE_CONFERENCE 0x00000002
typedef struct linetranslateoutput_tag {
DWORD dwTotalSize;
DWORD dwNeededSize;
DWORD dwUsedSize;
DWORD dwDialableStringSize;
DWORD dwDialableStringOffset;
DWORD dwDisplayableStringSize;
DWORD dwDisplayableStringOffset;
DWORD dwCurrentCountry;
DWORD dwDestCountry;
DWORD dwTranslateResults;
} LINETRANSLATEOUTPUT, FAR *LPLINETRANSLATEOUTPUT;
typedef struct linetranslatecaps_tag {
DWORD dwTotalSize;
DWORD dwNeededSize;
DWORD dwUsedSize;
DWORD dwNumLocations;
DWORD dwLocationListSize;
DWORD dwLocationListOffset;
DWORD dwCurrentLocationID;
DWORD dwNumCards;
DWORD dwCardListSize;
DWORD dwCardListOffset;
DWORD dwCurrentPreferredCardID;
} LINETRANSLATECAPS, FAR *LPLINETRANSLATECAPS;
typedef struct linelocationentry_tag {
DWORD dwPermanentLocationID;
DWORD dwLocationNameSize;
DWORD dwLocationNameOffset;
DWORD dwCountryCode;
DWORD dwCityCodeSize;
DWORD dwCityCodeOffset;
DWORD dwPreferredCardID;
DWORD dwLocalAccessCodeSize;
DWORD dwLocalAccessCodeOffset;
DWORD dwLongDistanceAccessCodeSize;
DWORD dwLongDistanceAccessCodeOffset;
DWORD dwTollPrefixListSize;
DWORD dwTollPrefixListOffset;
DWORD dwCountryID;
DWORD dwOptions;
DWORD dwCancelCallWaitingSize;
DWORD dwCancelCallWaitingOffset;
} LINELOCATIONENTRY, FAR *LPLINELOCATIONENTRY;
typedef struct linecardentry_tag {
DWORD dwPermanentCardID;
DWORD dwCardNameSize;
DWORD dwCardNameOffset;
DWORD dwCardNumberDigits;
DWORD dwSameAreaRuleSize;
DWORD dwSameAreaRuleOffset;
DWORD dwLongDistanceRuleSize;
DWORD dwLongDistanceRuleOffset;
DWORD dwInternationalRuleSize;
DWORD dwInternationalRuleOffset;
DWORD dwOptions;
} LINECARDENTRY, FAR *LPLINECARDENTRY;
typedef struct linecountrylist_tag {
DWORD dwTotalSize;
DWORD dwNeededSize;
DWORD dwUsedSize;
DWORD dwNumCountries;
DWORD dwCountryListSize;
DWORD dwCountryListOffset;
} LINECOUNTRYLIST, FAR *LPLINECOUNTRYLIST;
typedef struct linecountryentry_tag {
DWORD dwCountryID;
DWORD dwCountryCode;
DWORD dwNextCountryID;
DWORD dwCountryNameSize;
DWORD dwCountryNameOffset;
DWORD dwSameAreaRuleSize;
DWORD dwSameAreaRuleOffset;
DWORD dwLongDistanceRuleSize;
DWORD dwLongDistanceRuleOffset;
DWORD dwInternationalRuleSize;
DWORD dwInternationalRuleOffset;
} LINECOUNTRYENTRY, FAR *LPLINECOUNTRYENTRY;
typedef struct lineproviderlist_tag {
DWORD dwTotalSize;
DWORD dwNeededSize;
DWORD dwUsedSize;
DWORD dwNumProviders;
DWORD dwProviderListSize;
DWORD dwProviderListOffset;
} LINEPROVIDERLIST, FAR *LPLINEPROVIDERLIST;
typedef struct lineproviderentry_tag {
DWORD dwPermanentProviderID;
DWORD dwProviderFilenameSize;
DWORD dwProviderFilenameOffset;
} LINEPROVIDERENTRY, FAR *LPLINEPROVIDERENTRY;
#define LINETOLLLISTOPTION_ADD 0x00000001
#define LINETOLLLISTOPTION_REMOVE 0x00000002
#define LINETRANSLATEOPTION_CARDOVERRIDE 0x00000001
#define LINETRANSLATEOPTION_CANCELCALLWAITING 0x00000002
#define LINETRANSLATEOPTION_FORCELOCAL 0x00000004
#define LINETRANSLATEOPTION_FORCELD 0x00000008
#define LINETRANSLATERESULT_CANONICAL 0x00000001
#define LINETRANSLATERESULT_INTERNATIONAL 0x00000002
#define LINETRANSLATERESULT_LONGDISTANCE 0x00000004
#define LINETRANSLATERESULT_LOCAL 0x00000008
#define LINETRANSLATERESULT_INTOLLLIST 0x00000010
#define LINETRANSLATERESULT_NOTINTOLLLIST 0x00000020
#define LINETRANSLATERESULT_DIALBILLING 0x00000040
#define LINETRANSLATERESULT_DIALQUIET 0x00000080
#define LINETRANSLATERESULT_DIALDIALTONE 0x00000100
#define LINETRANSLATERESULT_DIALPROMPT 0x00000200
#define LINELOCATIONOPTION_PULSEDIAL 0x00000001
#define LINECARDOPTION_PREDEFINED 0x00000001
#define LINECARDOPTION_HIDDEN 0x00000002
// Simple Telephony prototypes
LONG WINAPI tapiRequestMakeCall(
LPCSTR lpszDestAddress,
LPCSTR lpszAppName,
LPCSTR lpszCalledParty,
LPCSTR lpszComment);
LONG WINAPI tapiRequestMediaCall(
HWND hWnd,
WPARAM wRequestID,
LPCSTR lpszDeviceClass,
LPCSTR lpDeviceID,
DWORD dwSize,
DWORD dwSecure,
LPCSTR lpszDestAddress,
LPCSTR lpszAppName,
LPCSTR lpszCalledParty,
LPCSTR lpszComment);
LONG WINAPI tapiRequestDrop(
HWND hWnd,
WPARAM wRequestID);
LONG WINAPI lineRegisterRequestRecipient(
HLINEAPP hLineApp,
DWORD dwRegistrationInstance,
DWORD dwRequestMode,
DWORD bEnable);
LONG WINAPI tapiGetLocationInfo(
LPSTR lpszCountryCode,
LPSTR lpszCityCode);
// Tapi Address Translation procedures
LONG WINAPI lineSetCurrentLocation(
HLINEAPP hLineApp,
DWORD dwLocation);
LONG WINAPI lineSetTollList(
HLINEAPP hLineApp,
DWORD dwDeviceID,
LPCSTR lpszAddressIn,
DWORD dwTollListOption);
LONG WINAPI lineTranslateAddress(
HLINEAPP hLineApp,
DWORD dwDeviceID,
DWORD dwAPIVersion,
LPCSTR lpszAddressIn,
DWORD dwCard,
DWORD dwTranslateOptions,
LPLINETRANSLATEOUTPUT lpTranslateOutput);
LONG WINAPI lineGetTranslateCaps(
HLINEAPP hLineApp,
DWORD dwAPIVersion,
LPLINETRANSLATECAPS lpTranslateCaps);
// Tapi function prototypes
LONG WINAPI lineAccept(
HCALL hCall,
LPCSTR lpsUserUserInfo,
DWORD dwSize);
LONG WINAPI lineAddToConference(
HCALL hConfCall,
HCALL hConsultCall);
LONG WINAPI lineAnswer(
HCALL hCall,
LPCSTR lpsUserUserInfo,
DWORD dwSize);
LONG WINAPI lineBlindTransfer(
HCALL hCall,
LPCSTR lpszDestAddress,
DWORD dwCountryCode);
LONG WINAPI lineClose(
HLINE hLine);
LONG WINAPI lineCompleteCall(
HCALL hCall,
LPDWORD lpdwCompletionID,
DWORD dwCompletionMode,
DWORD dwMessageID);
LONG WINAPI lineCompleteTransfer(
HCALL hCall,
HCALL hConsultCall,
LPHCALL lphConfCall,
DWORD dwTransferMode);
LONG WINAPI lineConfigDialog(
DWORD dwDeviceID,
HWND hwndOwner,
LPCSTR lpszDeviceClass);
LONG WINAPI lineConfigDialogEdit(
DWORD dwDeviceID,
HWND hwndOwner,
LPCSTR lpszDeviceClass,
LPVOID const lpDeviceConfigIn,
DWORD dwSize,
LPVARSTRING lpDeviceConfigOut);
LONG WINAPI lineDeallocateCall(
HCALL hCall);
LONG WINAPI lineDevSpecific(
HLINE hLine,
DWORD dwAddressID,
HCALL hCall,
LPVOID lpParams,
DWORD dwSize);
LONG WINAPI lineDevSpecificFeature(
HLINE hLine,
DWORD dwFeature,
LPVOID lpParams,
DWORD dwSize);
LONG WINAPI lineDial(
HCALL hCall,
LPCSTR lpszDestAddress,
DWORD dwCountryCode);
LONG WINAPI lineDrop(
HCALL hCall,
LPCSTR lpsUserUserInfo,
DWORD dwSize);
LONG WINAPI lineForward(
HLINE hLine,
DWORD bAllAddresses,
DWORD dwAddressID,
LPLINEFORWARDLIST const lpForwardList,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -