lineDial 関数 (tapi.h)
lineDial 関数は、指定した呼び出しで指定されたダイヤル可能な番号にダイヤルします。
構文
LONG lineDial(
HCALL hCall,
LPCSTR lpszDestAddress,
DWORD dwCountryCode
);
パラメーター
hCall
番号をダイヤルする呼び出しを処理します。 アプリケーションは、呼び出しの所有者である必要があります。 hCall の呼び出し状態は、アイドル状態と切断状態を除く任意の状態にすることができます。
lpszDestAddress
ダイヤル可能な標準の番号形式を使用してダイヤルされる宛先。
dwCountryCode
宛先の国または地域コード。 これは、宛先アドレスの呼び出し進行状況プロトコルを選択するために実装によって使用されます。 値 0 を指定すると、サービス プロバイダー定義の既定の呼び出し進行状況プロトコルが使用されます。
戻り値
関数が非同期的に完了した場合は正の要求識別子を返し、エラーが発生した場合は負のエラー番号を返します。 関数が成功した場合は、対応するLINE_REPLY メッセージの dwParam2 パラメーターは 0、エラーが発生した場合は負のエラー番号です。 可能な戻り値は次のとおりです。
LINEERR_ADDRESSBLOCKED、LINEERR_INVALPOINTER、LINEERR_DIALBILLING、LINEERR_NOMEM、LINEERR_DIALDIALTONE、LINEERR_NOTOWNER、LINEERR_DIALPROMPT、LINEERR_OPERATIONFAILED、LINEERR_DIALQUIET、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLHANDLE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALCALLSTATE、LINEERR_UNINITIALIZED、LINEERR_INVALCOUNTRYCODE。
解説
LINEERR_INVALADDRESSが返された場合、ダイヤルは行われません。 LINEERR_DIALBILLING、LINEERR_DIALQUIET、LINEERR_DIALDIALTONE、またはLINEERR_DIALPROMPTが返された場合、 lineDial によって実行されたアクションは発生しません。 たとえば、問題のある文字より前のダイヤル可能アドレスがダイヤルされていない、フックスイッチの状態が変更されていないなどです。
lineDial 関数は、既存のコールアピアランスでダイヤルするために使用されます。 たとえば、通話が転送または会議用に設定された後、コンサルテーションコールが自動的に割り当てられ、 lineDial 関数を使用してこのコンサルテーションコールのダイヤルを実行します。 lineDial 関数は、回線のデバイス機能で許可されている場合、マルチステージ ダイヤルの過程で複数回呼び出すことができます。 また、CRLF で区切られた 1 つのダイヤル文字列に複数のアドレスを指定することもできます。 逆多重化を提供するサービス プロバイダーは、各アドレスで個々の物理呼び出しを確立でき、アプリケーションへのすべての呼び出しの集計に対して 1 つの呼び出しハンドルを返すことができます。 すべてのアドレスで同じ国または地域コードが使用されます。
アドレスがサービス プロバイダーに渡された後、ダイヤルは完了したと見なされます。呼び出しが最終的に接続された後ではありません。 逆多重化を提供するサービス プロバイダーでは、複数のアドレスを一度に提供できます。 サービス プロバイダーは、LINE_CALLSTATEメッセージをアプリケーションに送信して、呼び出しの進行状況について通知します。 呼び出しの確立中に呼び出しの試行を中止するには、呼び出し元のアプリケーションで lineDrop を使用する必要があります。
アプリケーションでは、lineDial 関数の lpszDestAddress パラメーターを空の文字列のアドレスに設定して、ダイヤルが完了したことを示すことができますが、lineMakeCall 関数と lineDial 関数に対する以前の呼び出しで lpszDestAddress で指定された文字列がセミコロンで終わっていた場合に限られます。
lineDial 関数は、部分ダイヤルでも使用できます。 部分ダイヤルを使用して呼び出しを開始するために、アプリケーションは lineMakeCall を 呼び出し、部分ダイヤル文字列を指定します。 部分ダイヤル文字列は、セミコロンで終わる任意のダイヤル文字列です。 通常、この呼び出しは LINECALLSTATE_DIALING に切り替わります。その後、 lineDial を呼び出して、より多くのダイヤル文字列を指定できます。各文字列はセミコロンで終わります。 ダイヤルは、セミコロン (空の文字列など) で終了しないダイヤル文字列で lineDial を呼び出すことによって完了します。 この手法により、アプリケーションはユーザーと対話形式の部分ダイヤルを実行したり、TSP よりも高度なダイヤルを有効にしたりすることが可能になります。
null 変換先文字列、またはセミコロン (";") で終わる空の文字列が lineMakeCall に入力された場合、アプリケーションは LINE_CALLSTATE_DIALTONE に切り替わります。 lineDial 関数は、この状態で呼び出して、1 つのダイヤル文字列または複数の部分ダイヤル文字列をセミコロンで区切って入力できます。 アプリケーションは、最初の数字が入力された後、LINECALLSTATE_DIALING状態に移行します。
要件
対象プラットフォーム | Windows |
ヘッダー | tapi.h |
Library | Tapi32.lib |
[DLL] | Tapi32.dll |