TSPI_lineSetStatusMessages函数 (tspi.h)

TSPI_lineSetStatusMessages 函数使 TAPI 能够指定服务提供商应为与指定行或其任何地址的状态更改相关的事件生成的通知消息。

语法

LONG TSPIAPI TSPI_lineSetStatusMessages(
  HDRVLINE hdLine,
  DWORD    dwLineStates,
  DWORD    dwAddressStates
);

参数

hdLine

要为其设置新筛选器的行设备的句柄。

dwLineStates

一个位数组,用于标识要向 TAPI 发送消息的行设备状态更改。 此参数使用 LINEDEVSTATE_常量之一。

dwAddressStates

一个位数组,用于标识将消息发送到 TAPI 的地址状态更改。 此参数使用 LINEADDRESSSTATE_常量之一。

返回值

如果函数成功,则返回零;如果发生错误,则返回错误号。 可能的返回值如下所示:

LINEERR_INVALADDRESSSTATE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALLINEHANDLE、LINEERR_OPERATIONFAILED、LINEERR_INVALLINESTATE、LINEERR_RESOURCEUNAVAIL、LINEERR_NOMEM。

注解

如果 dwLineStates 参数包含的一个或多个位不是 LINEDEVSTATE_常量,则服务提供程序将返回LINEERR_INVALLINESTATE。

电话定义许多消息,用于通知应用程序有关线路和地址上发生的事件。 所有应用程序都感兴趣的所有更改消息集可能比可能的消息集小得多。 此过程允许 TAPI 告知服务提供商要传递的消息集减少。 服务提供程序在指定的集中传递它支持的所有消息。 允许提供更多 (它们被 TAPI) 筛选掉,但出于性能原因,不建议这样做。 如果 TAPI 请求传递提供程序未生成的特定消息类型,则提供程序仍接受该请求,但根本不生成该消息。 默认情况下,最初对行禁用地址和行状态报告。

此函数不同于相应的 TAPI 函数,如下所示: (1) 请求的消息集是应用程序在 TAPI 级别请求的所有集的联合。 (2) 由于 TSPI 级别) (3) 没有所有权概念,因此消息集既不会减少也不增加所有权 (因为服务提供程序至少需要转发指示的消息集,但允许转发更大的消息集。

不会报告有关“打开”和“关闭”的设备状态更改,因为在 TSPI 级别,一次只有一个未完成的“打开”。

要求

要求
目标平台 Windows
标头 tspi.h

另请参阅

LINEADDRESSSTATE_常量

LINEDEVSTATE_常量

LINE_ADDRESSSTATE

LINE_CLOSE

LINE_LINEDEVSTATE