以下 TAPI 函数在 Unicode (W) 和 ANSI (A) 版本中实现。 一般来说,ANSI 版本的实现会调用 Unicode 版本,并对 ANSI 参数和结构字段与 Unicode 之间进行必要的转换;下表列出了需要转换的参数。
为了与以前版本的 TAPI 兼容,显式调用通用(既无“W ”缀,也无“A”后缀)版本函数的应用程序将执行 ANSI 版本。
注意
整个电话服务提供程序接口 (TSPI) 2.0 版均采用 Unicode。
下表列出了 TAPI 结构中由部分字段名组成的字符串字段的引用。 例如,LINEFORWARD 结构中的“调用方地址”由 dwCallerAddressOffset 字段指向,并由 dwCallerAddressSize 字段分隔;在表中,该字符串被简单标识为 CallerAddress。
| TAPI 函数 | 在 ANSI 版函数中转换的参数和结构字段 |
|---|---|
| lineAddProvider | lpszProviderName |
| lineBlindTransfer | lpszDestAddress |
| lineConfigDialog | lpszDeviceClass |
| lineConfigDialogEdit |
lpszDeviceClass注意:如果直接操作,应用程序必须处理 lpDeviceConfigIn 和 lpDeviceConfigOut 中字符串的转换。 |
| lineDial | lpszDestAddress |
| lineForward |
lpForwardList ( LINEFORWARDLIST)
|
| lineGatherDigits |
lpsDigitslpszTerminationDigits |
| lineGenerateDigits | lpszDigits |
| lineGetAddressCaps |
lpAddressCaps ( LINEADDRESSCAPS)
|
| lineGetAddressID | lpsAddress |
| lineGetAddressStatus |
lpAddressStatus ( LINEADDRESSSTATUS)
|
| lineGetAgentActivityList |
lpAgentActivityList ( LINEAGENTACTIVITYLIST)
|
| lineGetAgentCaps |
lpAgentCaps ( LINEAGENTCAPS)
|
| lineGetAgentGroupList |
lpAgentGroupListI( LINEAGENTGROUPLIST)
|
| lineGetAgentStatus |
lpAgentStatus ( LINEAGENTSTATUS)
|
| lineGetAppPriority |
lpszAppFilenamelpExtensionName |
| lineGetCallInfo |
lpCallInfo ( LINECALLINFO)
|
| lineGetCountry |
lpLineCountryList ( LINECOUNTRYLIST)
|
| lineGetDevCaps |
lpLineDevCaps ( LINEDEVCAPS) - ProviderInfo - SwitchInfo - LineName - TerminalText - DeviceClasses 注意:dwStringFormat 已过时。 |
| LineGetDevConfig |
lpszDeviceClass注意:如果直接操作 lpDeviceConfig 中的字符串,则应用程序必须处理这些字符串的转换。 |
| LineGetIcon | lpszDeviceClass |
| lineGetID |
lpszDeviceClass注意:如果直接操作 lpDeviceID 中的字符串,则应用程序必须处理这些字符串的转换。 |
| LineGetLineDevStatus |
lpLineDevStatus ( LINEDEVSTATUS)
|
| lineGetProviderList |
lpProviderList ( LINEPROVIDERLIST)
|
| lineGetRequest |
lpRequestBuffer ( LINEREQMAKECALL
|
| lineGetTranslateCaps |
lpTranslateCaps ( LINETRANSLATECAPS)
|
| lineHandoff | lpszFileName |
| lineInitializeEx | lpszFriendlyAppName |
| lineMakeCall |
lpszDestAddresslpCallParams ( LINECALLPARAMS)
|
| lineOpen |
lpCallParams ( LINECALLPARAMS)
|
| linePark |
lpszDirAddresslpNonDirAddress ( VARSTRING)
|
| linePickup |
lpszDestAddresslpszGroupID |
| linePrepareAddToConference |
lpCallParams ( LINECALLPARAMS)
|
| lineRedirect | lpszDestAddress |
| lineSetAppPriority |
lpszAppFilenamelpszExtensionName |
| lineSetDevConfig |
lpszDeviceClass注意:如果直接操作 lpDeviceConfig 中的字符串,则应用程序必须处理这些字符串的转换。 |
| lineSetTollList | lpszAddressIn |
| lineSetupConference |
lpCallParams ( LINECALLPARAMS)
|
| lineSetupTransfer |
lpCallParams ( LINECALLPARAMS)
|
| lineTranslateAddress |
lpszAddressInlpTranslateOutput ( LINETRANSLATEOUTPUT)
|
| lineTranslateDialog | lpszAddressIn |
| lineUnpark | lpszDestAddress |
| phoneConfigDialog | lpszDeviceClass |
| phoneGetButtonInfo |
lpButtonInfo ( PHONEBUTTONINFO)
|
| phoneGetDevCaps |
lpPhoneCaps ( PHONECAPS) - ProviderInfo - PhoneInfo - PhoneName - 设备类 注意:dwStringFormat 已过时。 |
| phoneGetIcon | lpszDeviceClass |
| phoneGetID |
lpszDeviceClass注意:如果直接操作 lpDeviceID 中的字符串,则应用程序必须处理这些字符串的转换。 |
| phoneGetStatus |
lpPhoneStatus ( PHONESTATUS)
|
| phoneInitializeEx | lpszFriendlyAppName |
| phoneSetButtonInfo |
lpButtonInfo ( PHONEBUTTONINFO)
|
| tapiGetLocationInfo |
lpszCountryCodelpszCityCode |
| tapiRequestMakeCall |
lpszDestAddresslpszAppName lpszCalledParty lpszComment |