lineMakeCallA 関数 (tapi.h)

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

構文

LONG lineMakeCallA(
  HLINE                  hLine,
  LPHCALL                lphCall,
  LPCSTR                 lpszDestAddress,
  DWORD                  dwCountryCode,
  LPLINECALLPARAMS const lpCallParams
);

パラメーター

hLine

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

lphCall

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

lpszDestAddress

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

dwCountryCode

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

lpCallParams

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

戻り値

関数が非同期的に完了した場合は正の要求識別子を返し、エラーが発生した場合は負のエラー番号を返します。 関数が成功した場合は、対応する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 つの固定シーケンスの遷移を保証することはできません。 一般的なシーケンスでは、ダイヤル トーンダイヤル続行リングバックから 接続への切り替えが発生する可能性があります。 ダイヤルされていない回線では、通常、通話は 直接接続された 状態に直接移行できます。

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

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

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

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

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

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

注意

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

要件

要件
対象プラットフォーム Windows
ヘッダー tapi.h
Library Tapi32.lib
[DLL] Tapi32.dll

こちらもご覧ください

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

ダイヤル可能なアドレス

LINECALLPARAMS

LINEDEVSTATUS

LINE_CALLSTATE

LINE_REPLY

TAPI 2.2 リファレンスの概要

lineDial

lineDrop

lineGetLineDevStatus