lineTranslateAddress 函数 (tapi.h)

lineTranslateAddress 函数将指定的地址转换为另一种格式。

语法

LONG lineTranslateAddress(
  HLINEAPP              hLineApp,
  DWORD                 dwDeviceID,
  DWORD                 dwAPIVersion,
  LPCSTR                lpszAddressIn,
  DWORD                 dwCard,
  DWORD                 dwTranslateOptions,
  LPLINETRANSLATEOUTPUT lpTranslateOutput
);

参数

hLineApp

lineInitializeEx 返回的句柄。 如果 TAPI 2.x 应用程序尚未调用 lineInitializeEx 函数,则可以将此参数设置为 NULL。 TAPI 1.4 应用程序仍必须首先调用 lineInitialize

dwDeviceID

要拨打呼叫的线路设备的设备标识符,以便不同线路上的拨号过程的变化可以应用于转换过程。

dwAPIVersion

应用程序支持的最高 TAPI 版本 (不一定是 lineNegotiateAPIVersion 在某些特定线路设备上) 协商的值。

lpszAddressIn

指向 以 null 结尾的字符串的指针,该字符串包含要提取以供转换的信息的地址。 必须采用规范地址格式,或任意可拨号数字字符串 (非规范) 。 此参数不得为 NULL。 如果 AddressIn 包含子地址或名称字段,或者其他地址与第一个地址之间用 CR 和 LF 字符分隔,则仅转换第一个地址。

dwCard

用于拨号的信用卡。 仅当在 dwTranslateOptions 中设置了 CARDOVERRIDE 位时,此参数才有效。 此参数指定从 lineTranslateCaps) 获取的注册表 ([Cards] 部分中的 Card 项的永久标识符,而不是在 CurrentLocation 的定义中指定的 PreferredCardID。 它不会导致修改注册表中当前 Location 条目的 PreferredCardID 参数;重写仅适用于当前转换操作。 如果未在 dwTranslateOptions 中设置 CARDOVERRIDE 位,则忽略此参数。

dwTranslateOptions

在将地址转换为可拨号字符串之前要执行的关联操作。 此参数使用 LINETRANSLATEOPTION_常量之一。

如果已设置LINETRANSLATEOPTION_CANCELCALLWAITING位,则还建议在 LINECALLPARAMS 结构的 dwCallParamFlags 成员中设置LINECALLPARAMFLAGS_SECURE位, (通过 lpCallParams 参数) 传递到 lineMakeCall 这可以防止线路设备使用可拨号数字来抑制呼叫中断。

lpTranslateOutput

指向应用程序分配的内存区域的指针,该内存区域包含转换操作的输出,类型为 LINETRANSLATEOUTPUT。 在调用 lineTranslateAddress 之前,应用程序必须设置此结构的 dwTotalSize 成员,以指示 TAPI 可用于返回信息的内存量。

返回值

如果请求成功,则返回零;如果发生错误,则返回负错误号。 可能的返回值为:

LINEERR_BADDEVICEID、LINEERR_INVALPOINTER、LINEERR_INCOMPATIBLEAPIVERSION、LINEERR_NODRIVER、LINEERR_INIFILECORRUPT、LINEERR_NOMEM、LINEERR_INVALADDRESS、LINEERR_OPERATIONFAILED、LINEERR_INVALAPPHANDLE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALCARD、LINEERR_STRUCTURETOOSMALL、LINEERR_INVALPARAM。

要求

要求
目标平台 Windows
标头 tapi.h
Library Tapi32.lib
DLL Tapi32.dll

另请参阅

基本电话服务参考

规范地址

LINECALLPARAMS

LINETRANSLATEOUTPUT

TAPI 2.2 参考概述

TAPI 版本协商

lineInitializeEx

lineNegotiateAPIVersion