错误检查

在 TAPI 级别,应用程序可以传递各种不同的参数,其中许多参数可能无效。 TAPI 验证参数并将错误返回给应用程序,而无需调用服务提供商。 TSPI 级别的每个函数说明都描述了已测试的参数错误。 服务提供商不必重复这些测试,但它必须执行任何适合该函数的其他有效性测试。 下表列出了许多函数中显示的常见参数有效性测试的标题和说明。

有效性测试 说明
指针有效性 TAPI 已经测试了指向数据存储的指针,以确保它们指向适用于操作大小的可读或可写内存。 此外,对于从 dwTotalSize 成员开始的可变大小数据结构,已验证数据结构以确保指示的总大小可用。
固定大小有效性 对于可变大小的数据结构,已验证数据结构,以便为数据结构固定大小的部分提供空间, dwTotalSize 足以用于固定部分。
偏移量/大小为零 对于可变大小的数据结构,“...Offset 和“...与服务提供程序集的部件对应的“大小”字段在调用服务提供商之前已使用零值预设。
处理有效性 TAPI 可确保定义类型 HDRVLINE、HDRVPHONEHDRVCALL) 的线路、电话和呼叫句柄 (有效。 也就是说,它们是在 TSPI_lineOpenTSPI_phoneOpen或下列值中作为句柄返回的值,用于启动调用句柄的生存期: TSPI_lineMakeCall
TSPI_lineCompleteTransfer
TSPI_lineForward
TSPI_linePickup
TSPI_linePrepareAddToConference
TSPI_lineSetupConference
TSPI_lineSetupTransfer
TSPI_lineUnpark
LINE_NEWCALL 消息