错误检查

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

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