TAPI レベルでは、アプリケーションはさまざまなパラメーターを渡すことができます。その多くは無効である可能性があります。 TAPI はパラメーターを検証し、サービス プロバイダーを呼び出さずにアプリケーションにエラーを返します。 TSPI レベルの各関数の説明には、既にテストされているパラメーター エラーが記述されています。 サービス プロバイダーは、これらのテストを繰り返す必要はありませんが、関数に適した追加の有効性テストを実行する必要があります。 次の表に、多くの関数に表示される一般的なパラメーターの有効性テストのタイトルと説明を示します。
| 有効性テスト | 形容 |
|---|---|
| ポインターの有効性 | TAPI は既にデータ ストレージへのポインターをテストして、操作に適したサイズの読み取り可能または書き込み可能なメモリを指していることを確認しています。 さらに、dwTotalSize メンバーから始まる可変サイズのデータ構造については、データ構造が検証され、指定された合計サイズが使用可能であることが確認されています。 |
| 固定サイズの有効性 | 可変サイズのデータ構造の場合は、データ構造が検証されているため、データ構造の固定サイズ部分の領域が確保され、dwTotalSize は固定部分に十分です。 |
| オフセット/サイズゼロ | 可変サイズのデータ構造の場合、サービス プロバイダーが設定する部分に対応する "...Offset" フィールドと "...Size" フィールドは、サービス プロバイダーが呼び出される前にゼロの値で事前設定されています。 |
| 有効性の処理 | 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 |