错误检查
在 TAPI 级别,应用程序可以传递各种不同的参数,其中许多参数可能无效。 TAPI 验证参数并将错误返回给应用程序,而无需调用服务提供商。 TSPI 级别的每个函数说明都描述了已测试的参数错误。 服务提供商不必重复这些测试,但它必须执行任何适合该函数的其他有效性测试。 下表列出了许多函数中显示的常见参数有效性测试的标题和说明。
有效性测试 | 说明 |
---|---|
指针有效性 | TAPI 已经测试了指向数据存储的指针,以确保它们指向适用于操作大小的可读或可写内存。 此外,对于从 dwTotalSize 成员开始的可变大小数据结构,已验证数据结构以确保指示的总大小可用。 |
固定大小有效性 | 对于可变大小的数据结构,已验证数据结构,以便为数据结构固定大小的部分提供空间, dwTotalSize 足以用于固定部分。 |
偏移量/大小为零 | 对于可变大小的数据结构,“...Offset 和“...与服务提供程序集的部件对应的“大小”字段在调用服务提供商之前已使用零值预设。 |
处理有效性 | TAPI 可确保定义类型 HDRVLINE、HDRVPHONE 和 HDRVCALL) 的线路、电话和呼叫句柄 (有效。 也就是说,它们是在 TSPI_lineOpen、 TSPI_phoneOpen或下列值中作为句柄返回的值,用于启动调用句柄的生存期: TSPI_lineMakeCall TSPI_lineCompleteTransfer TSPI_lineForward TSPI_linePickup TSPI_linePrepareAddToConference TSPI_lineSetupConference TSPI_lineSetupTransfer TSPI_lineUnpark LINE_NEWCALL 消息 |