lineMakeCall 関数 (tapi.h)
lineMakeCall 関数は、指定した行の呼び出しを指定した宛先アドレスに配置します。 必要に応じて、既定の呼び出しセットアップ パラメーター以外が要求される場合は、呼び出しパラメーターを指定できます。
構文
LONG lineMakeCall(
HLINE hLine,
LPHCALL lphCall,
LPCSTR lpszDestAddress,
DWORD dwCountryCode,
LPLINECALLPARAMS const lpCallParams
);
パラメーター
hLine
呼び出しが発信されるオープンライン デバイスへのハンドル。
lphCall
HCALL ハンドルへのポインター。 ハンドルは、lineMakeCall 関数が正常に完了したことを示すLINE_REPLY メッセージがアプリケーションによって受信された後にのみ有効です。 このハンドルを使用して、通話で他のテレフォニー操作を呼び出すときに呼び出しを識別します。 アプリケーションは、最初はこの呼び出しの唯一の所有者です。 関数が (応答メッセージによって同期的または非同期的に) エラーを返す場合、このハンドルは無効です。
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 つの回線デバイス上のアドレスとしてモデル化するサービス プロバイダーを使用すると、アプリケーションは lineMakeCall を使用してこれらのステーションのいずれかから呼び出しを発信できます。
呼び出しパラメーターを使用すると、アプリケーションは音声以外の呼び出しを行ったり、既定では使用できない特別な呼び出しセットアップ オプションを要求したりできます。
アプリケーションでは、 lineMakeCall を使用して部分的にダイヤルし、 lineDial を使用してダイヤルを続行できます。 部分ダイヤルの詳細については、「 lineDial and TSPI_lineMakeCall」を参照してください。 呼び出しの試行を破棄するには、 lineDrop を使用します。
lineMakeCall がアプリケーションに成功応答メッセージを返した後、LINE_CALLSTATEメッセージがアプリケーションに送信され、呼び出しの現在の状態が示されます。 この状態は必ずしもLINECALLSTATE_DIALTONEとは限りません。
この関数は、暗号化されていない形式でネットワーク経由でデータを送信する場合があります。そのため、ネットワーク上で傍受しているユーザーがデータを読み取ることができる可能性があります。 この方法を使用する前に、クリア テキストでデータを送信するセキュリティ リスクを考慮する必要があります。
要件
対象プラットフォーム | Windows |
ヘッダー | tapi.h |
Library | Tapi32.lib |
[DLL] | Tapi32.dll |