lineMakeCallW 関数 (tapi.h)

lineMakeCall 関数は、指定した行の呼び出しを指定された宛先アドレスに配置します。 必要に応じて、既定の呼び出しセットアップ パラメーター以外を要求する場合は、呼び出しパラメーターを指定できます。

構文

LONG lineMakeCallW(
  HLINE                  hLine,
  LPHCALL                lphCall,
  LPCWSTR                lpszDestAddress,
  DWORD                  dwCountryCode,
  LPLINECALLPARAMS const lpCallParams
);

パラメーター

hLine

呼び出しが発信されるオープンライン デバイスへのハンドル。

lphCall

HCALL ハンドルへのポインター。 ハンドルは、lineMakeCall 関数が正常に完了したことを示す LINE_REPLY メッセージをアプリケーションが受信した後にのみ有効です。 このハンドルを使用して、通話で他のテレフォニー操作を呼び出すときに通話を識別します。 アプリケーションは、最初はこの呼び出しの唯一の所有者です。 このハンドルは、関数が (応答メッセージによって同期的または非同期的に) エラーを返す場合は無効です。

lpszDestAddress

宛先アドレスへのポインター。 これは、標準のダイヤル可能な番号形式に従います。 このポインターは、(ホット フォンと同様に) ダイヤルされていないアドレスの場合、またはすべてのダイヤルが lineDialを使用して実行される場合に、NULL できます。 後者の場合、lineMakeCall は、ダイヤルが開始されるまで通常は ダイヤルトーンの 状態のままになる使用可能な呼び出しの外観を割り当てます。 逆多重化機能を持つサービス プロバイダーでは、アプリケーションで一度に複数のアドレスを指定できます。

dwCountryCode

呼び出し先の国または地域コード。 値 0 を指定した場合、実装では既定値が使用されます。

lpCallParams

LINECALLPARAMS 構造体へのポインター。 この構造により、アプリケーションは呼び出しを設定する方法を指定できます。 NULL が指定されている場合、既定の 3.1 kHz 音声通話が確立され、回線上の任意の発信元アドレスが選択されます。 この構造により、アプリケーションは、呼び出しのベアラー モード、データ レート、予想されるメディア モード、配信元アドレス、発信者番号情報のブロック、ダイヤル パラメーターなどの要素を選択できます。

戻り値

関数が非同期的に完了した場合は正の要求識別子を返し、エラーが発生した場合は負のエラー番号を返します。 対応する LINE_REPLY メッセージの dwParam2 パラメーターは、関数が成功した場合は 0、エラーが発生した場合は負のエラー番号です。 可能な戻り値は次のとおりです。

LINEERR_ADDRESSBLOCKED、LINEERR_INVALLINEHANDLE、LINEERR_BEARERMODEUNAVAIL、LINEERR_INVALLINESTATE、LINEERR_CALLUNAVAIL、LINEERR_INVALMEDIAMODE、LINEERR_DIALBILLING、LINEERR_INVALPARAM LINEERR_DIALDIALTONE、LINEERR_INVALPOINTER、LINEERR_DIALPROMPT、LINEERR_INVALRATE、LINEERR_DIALQUIET、LINEERR_NOMEM、LINEERR_INUSE LINEERR_OPERATIONFAILED、LINEERR_INVALADDRESS、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALADDRESSID、LINEERR_RATEUNAVAIL、LINEERR_INVALADDRESSMODE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALBEARERMODE、LINEERR_STRUCTURETOOSMALL、LINEERR_INVALCALLPARAMS、LINEERR_UNINITIALIZED、LINEERR_INVALCOUNTRYCODE、LINEERR_USERUSERINFOTOOBIG。

備考

LINEERR_INVALLINESTATEが返された場合、行は現在、この操作を実行できる状態ではありません。 現在有効な操作の一覧は、LINEDEVSTATUS 構造体の dwLineFeatures メンバー (LINEFEATURE_型) にあります。 lineGetLineDevStatus 呼び出すと、LINEDEVSTATUS情報が更新されます。 LINEERR_DIALBILLING、LINEERR_DIALQUIET、LINEERR_DIALDIALTONE、またはLINEERR_DIALPROMPTが返された場合、lineMakeCall によって実行されたアクションは発生。たとえば、問題のある文字の前にダイヤル可能なアドレスがダイヤルされていない、フックスイッチの状態が変更されていないなどです。

ダイヤルが完了すると、通常、いくつかの LINE_CALLSTATE メッセージがアプリケーションに送信され、通話の進行状況について通知されます。 一般的に有効な呼び出し状態遷移のシーケンスは指定されません。実際には、単一の固定シーケンスの遷移を保証することはできません。 一般的なシーケンスでは、呼び出しがダイヤルトーン から、ダイヤル、、リングバック、接続されたに遷移する可能性があります。 ダイヤルされていない回線では、通常、通話は接続 状態 直接遷移できます。

アプリケーションには、指定された回線デバイスで送信元アドレスを指定するオプションがあります。 スイッチ上のすべてのステーションを 1 つの回線デバイス上のアドレスとしてモデル化するサービス プロバイダーを使用すると、アプリケーションは、lineMakeCallを使用して、これらのステーションからの呼び出しを発信できます。

呼び出しパラメーターを使用すると、アプリケーションは音声以外の呼び出しを行ったり、既定では使用できない特別な通話セットアップ オプションを要求したりできます。

アプリケーションは、lineMakeCall を使用して部分的にダイヤルし、lineDialを使用してダイヤルを続行できます。 部分ダイヤルの詳細については、「lineDial と TSPI_lineMakeCallを参照してください。 呼び出しの試行を破棄するには、lineDrop使用します。

lineMakeCall が成功応答メッセージをアプリケーションに返した後、LINE_CALLSTATE メッセージがアプリケーションに送信され、呼び出しの現在の状態が示されます。 この状態は必ずしもLINECALLSTATE_DIALTONEとは限りません。

この関数は、暗号化されていない形式でネットワーク経由でデータを送信できます。そのため、ネットワーク上で傍受しているユーザーがデータを読み取ることができる可能性があります。 この方法を使用する前に、クリア テキストでデータを送信するセキュリティ リスクを考慮する必要があります。

注意 TAPI は、LINE_REPLY メッセージが返されるときに、返されたデータを lphCall によって参照されるバッファーに書き込みます。 つまり、LINE_REPLY メッセージが返されるまでバッファーは有効なままである必要があります。そうしないと、データの破損や例外が発生する可能性があります。
 

手記

tapi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして lineMakeCall を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
ターゲット プラットフォーム の ウィンドウズ
ヘッダー tapi.h
ライブラリ Tapi32.lib
DLL Tapi32.dll

関連項目

基本的なテレフォニー サービス リファレンス

ダイヤル可能アドレスの

LINECALLPARAMS

LINEDEVSTATUS

LINE_CALLSTATE

LINE_REPLY

TAPI 2.2 リファレンスの概要

lineDial を する

lineDrop

lineGetLineDevStatus を する