lineSetTerminal 関数 (tapi.h)
lineSetTerminal 関数を使用すると、指定された行、アドレス、または呼び出しに関連するターミナル情報をアプリケーションで指定できます。 lineSetTerminal 関数は、アプリケーションが必要に応じてさまざまなデバイスにこれらのイベントをルーティングできるように、行で呼び出しが進行中に使用できます。
構文
LONG lineSetTerminal(
HLINE hLine,
DWORD dwAddressID,
HCALL hCall,
DWORD dwSelect,
DWORD dwTerminalModes,
DWORD dwTerminalID,
DWORD bEnable
);
パラメーター
hLine
開線デバイスへのハンドル。
dwAddressID
指定されたオープンライン デバイスのアドレス。 アドレス識別子は、アドレスに永続的に関連付けられます。識別子はオペレーティング システムのアップグレード全体で一定のままです。
hCall
呼び出しを処理します。 dwSelect が CALL の場合、hCall の呼び出し状態は任意の状態にすることができます。
dwSelect
回線、アドレス、または指定された呼び出しに対してターミナル設定が要求されているかどうか。 行またはアドレスが指定されている場合、イベントは行またはアドレス自体に適用されるか、行またはアドレスのすべての新しい呼び出しの既定の初期設定として機能します。 このパラメーターでは、 LINECALLSELECT_定数のいずれかを使用します。
dwTerminalModes
指定されたターミナルにルーティングされる低レベルのイベントのクラス。 このパラメーターでは、1 つ以上の LINETERMMODE_定数を使用します。
dwTerminalID
指定されたイベントがルーティングされるターミナル デバイスのデバイス識別子。 ターミナル識別子は、0 から dwNumTerminals より 1 未満の小さい整数です。 ここで、dwNumTerminals と、各ターミナルが処理できるターミナル モードは、 lineGetDevCaps によって返されます。
これらのターミナル識別子は、他のデバイス識別子とは関係がなく、デバイス機能を使用してサービス プロバイダーによって定義されます。
bEnable
TRUE の場合、dwTerminalID が有効であり、指定されたイベント クラスがそのターミナルとの間でルーティングされます。 FALSE の場合、これらのイベントは、dwTerminalID と等しい識別子を持つターミナル デバイスとの間でルーティングされません。
戻り値
関数が非同期的に完了した場合は正の要求識別子を返し、エラーが発生した場合は負のエラー番号を返します。 対応するLINE_REPLY メッセージの dwParam2 パラメーターは、関数が成功した場合は 0、エラーが発生した場合は負のエラー番号です。 可能な戻り値は次のとおりです。
LINEERR_INVALADDRESSID、LINEERR_NOMEM、LINEERR_INVALCALLHANDLE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLSELECT、LINEERR_OPERATIONFAILED、LINEERR_INVALLINEHANDLE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALTERMINALID、LINEERR_UNINITIALIZED、LINEERR_INVALTERMINALMODE。
解説
アプリケーションは、この関数を使用して、指定されたターミナル デバイスに低レベルの行イベントの特定のクラスをルーティングしたり、これらのイベントのルーティングを抑制したりできます。 たとえば、音声をオーディオ I/O デバイス (ヘッドセット) にルーティングしたり、ランプやディスプレイ イベントをローカルの電話デバイスにルーティングしたり、ボタン イベントや呼び出し音イベントを完全に抑制したりできます。
この関数は、特定の回線デバイスで呼び出しがアクティブな場合でも、いつでも呼び出すことができます。 これにより、ユーザーはローカル電話セットを使用して別のオーディオ I/O デバイスに切り替えることができます。 この関数を複数回呼び出して、同じイベントを複数のターミナルに同時にルーティングできます。 イベントを別のターミナルに再ルーティングするには、アプリケーションで最初に既存のターミナルへのルーティングを無効にしてから、新しいターミナルにイベントをルーティングする必要があります。
ターミナル識別子の割り当ては、回線のサービス プロバイダーによって行われます。 デバイス機能は、サービス プロバイダーが使用できるターミナル識別子のみを示します。 この種のイベント ルーティングをサポートしていないサービス プロバイダーは、ターミナル デバイスがないことを示します (LINEDEVCAPS の dwNumTerminals はゼロになります)。
行またはアドレスで lineSetTerminal を呼び出すと、その行またはアドレスの既存のすべての呼び出しに影響しますが、他のアドレスの呼び出しには影響しません。 また、その行またはアドレスに対する今後の呼び出しの既定値も設定します。 一度に複数の接続された呼び出しがアクティブになっている回線またはアドレスは、呼び出しごとに異なるルーティングを有効にすることができます。
これらのイベントがそのターミナルとの間で現在ルーティングされていない場合に、ターミナルへの低レベルイベントのルーティングを無効にしても、関数が成功する限り、必ずしもエラーが生成されるわけではありません (指定されたイベントは、そのターミナルとの間でルーティングされません)。
TAPI は、"media" の lineSetTerminal 関数によって設定されたのと同じ場所に、呼び出しの進行状況のトーンとメッセージをルーティングします。 たとえば、音声信号が電話に向かう場合、ビジー状態 (デジタル) を示す信号 (アナログ) または Q.931 メッセージがビジー状態になります。
要件
対象プラットフォーム | Windows |
ヘッダー | tapi.h |
Library | Tapi32.lib |
[DLL] | Tapi32.dll |