TSPI_lineGenerateTone関数 (tspi.h)

TSPI_lineGenerateTone関数は、指定した呼び出しで指定されたトーンインバンドを生成します。 dwToneMode に対してゼロを指定してこの関数を呼び出すと、指定された呼び出しで現在進行中のトーン生成が中止されます。 トーン生成の進行中 にTSPI_lineGenerateTone または TSPI_lineGenerateDigits を呼び出すと、現在のトーン生成またはディジット生成が中止され、新しく指定されたトーンまたはディジットの生成が開始されます。

構文

LONG TSPIAPI TSPI_lineGenerateTone(
  HDRVCALL                 hdCall,
  DWORD                    dwEndToEndID,
  DWORD                    dwToneMode,
  DWORD                    dwDuration,
  DWORD                    dwNumTones,
  LPLINEGENERATETONE const lpTones
);

パラメーター

hdCall

トーン生成を実行する呼び出しに対するサービス プロバイダーのハンドル。 hdCall の呼び出し状態は、アイドル状態を除く任意の状態にすることができます。

dwEndToEndID

一致する LINE_GENERATE メッセージが送信されるまで、その有効期間全体の要求の一意の解釈されていない識別子。 サービス プロバイダーは、この識別子をメッセージのパラメーターの 1 つとして含めます。

dwToneMode

生成するトーンを定義します。 トーンには、標準またはカスタムのいずれかを指定できます。 カスタム トーンは、任意の周波数のセットで構成されます。 少数の標準トーンが事前に定義されています。 トーンの継続時間は、標準トーンとカスタム トーンの両方に 対して dwDuration によって指定されます。 dwToneMode が 0 に設定されている場合、進行中のディジットまたはトーンの生成は取り消されます。 このパラメーターは、 LINETONEMODE_定数の 1 つだけを使用します。

dwDuration

トーンが持続する時間 (ミリ秒単位)。 dwDuration の値 0 は、指定したトーンに既定の継続時間を使用します。 既定値は次のとおりです。

CUSTOM: 無限

RINGBACK: 無限

BUSY: 無限

BEEP: 無限

課金: 固定 (単一サイクル)

このパラメーターは、この関数が呼び出されたときに TAPI によって検証されません。

dwNumTones

lpTones 配列内のエントリの数。 dwToneMode がLINETONEMODE_CUSTOMと等しくない場合、このパラメーターは無視されます。

lpTones

トーンのコンポーネントを指定する LINEGENERATETONE 配列へのポインター。 このパラメーターは、カスタム以外のトーンでは無視されます。 lpTones がマルチ周波数トーンの場合、さまざまなトーンが同時に再生されます。

戻り値

関数が成功した場合は 0 を返し、エラーが発生した場合はエラー番号を返します。 可能な戻り値は次のとおりです。

LINEERR_INVALCALLHANDLE、LINEERR_NOMEM、LINEERR_INVALCALLSTATE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALTONEMODE、LINEERR_OPERATIONFAILED、LINEERR_INVALTONE、LINEERR_RESOURCEUNAVAIL、LINEERR_RESOURCEUNAVAIL。

注釈

トーン 生成が正常に開始されると、TSPI_lineGenerateToneはゼロ (成功) を返します。トーンの生成が終了したときではありません。 この関数を使用すると、リングバック、ビジー トーン、ビープ音など、いくつかの定義済みのトーンのインバンド生成が可能になります。 また、サービス プロバイダーによってサポートされている場合は、コンポーネントの周波数、周期、ボリュームを指定することで、カスタム トーンを作成することもできます。 これらのトーンはインバンド トーンとして生成されるため、呼び出しは通常、トーン生成を有効にするために 接続 状態である必要があります。 トーン生成が完了したとき、またはトーン生成が取り消されると、 LINE_GENERATE メッセージが TAPI に送信されます。

メモ 1 回の呼び出しで進行中のインバンド生成要求 (トーン生成またはディジット生成) は 1 つだけです。 これは、通話でトーン生成が現在進行中の場合、 TSPI_lineGenerateDigits または TSPI_lineGenerateTone を呼び出すとトーン生成が取り消されることを意味します。 サービス プロバイダーは、後続の TSPI_lineGenerateDigits または TSPI_lineGenerateTone 関数が呼び出されたときに、進行中のトーン生成を終了する必要があります。
 
TAPI レベルの対応する関数には、仮パラメーター dwEndToEndID は含まれません。 そのレベルでは、エンド ツー エンドのマーキングはありません。 TAPI では、TSPI レベルでエンドツーエンドのマーキングを使用して、1 つの TSPI_lineGenerateTone 要求を別の要求と区別します。

要件

要件
対象プラットフォーム Windows
ヘッダー tspi.h

こちらもご覧ください

LINEGENERATETONE

LINETONEMODE_定数

LINE_GENERATE

TSPI_lineGenerateDigits