以下 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 |