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

📄 tapi.h

📁 支持XMODEM,YMODEM,FAX协议的串口通信软件包的下一个:基于TAPI应用的通信应用
💻 H
📖 第 1 页 / 共 5 页
字号:
    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 + -