ITAutomatedPhoneControl
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
ITAutomatedPhoneControl は、TAPI の電話オブジェクトが公開する、完全に OLE オートメーション対応かつスクリプト可能なインターフェイスです。
解説(Remarks)
ITAutomatedPhoneControl ポインターは、ITPhone::Close メソッドが呼び出されると無効になります。
メソッド 32
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
StartTone メソッドは、制御トーンを送信します。
| Tone | PHONE_TONE | in | 送信するトーンの種類を表す PHONE_TONE 記述子 (PT_KEYPADONE など)。 |
| lDuration | INT | in | 送信するトーンの長さ (ミリ秒単位)。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
StopTone メソッドは、現在再生中のトーンを停止します。トーンが再生されていない場合、このメソッドは何も行わず、成功を返します。
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
get_Tone メソッドは、電話が現在再生しているトーンの種類 (存在する場合) を示す PHONE_TONE 列挙値を返します。
| pTone | PHONE_TONE* | out | 再生中のトーンを表す PHONE_TONE 記述子。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
StartRinger メソッドは、リングモードとリングの長さを指定して、電話のリンガー (呼び出し音) を開始します。
| lRingMode | INT | in | リングモード。この値の正確な意味はデバイスに依存します。詳細については、後述の「解説」セクションを参照してください。 |
| lDuration | INT | in | リングの長さ。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
lRingMode パラメーターに 0 を指定し、電話にリンガーデバイスがない場合、StartRinger メソッドは、システムの既定のオーディオレンダリングデバイスで呼び出し音を再生しようとします。既定のデバイスの例としては、サウンドカードのスピーカーや USB 電話のオーディオレンダリングデバイスがあります。詳細については、PHONECAPS_LONG を参照してください。
StopRinger メソッドは、現在発生している着信リングを停止します。リングが発生していない場合、このメソッドは何も行わず、成功を返します。
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
get_Ringer メソッドは、このインターフェイスの StartRinger メソッドによって開始された着信リングを電話が現在実行しているかどうかを示すブール値を返します。
| pfRinging | VARIANT_BOOL* | out | VARIANT_TRUE の場合、電話は現在鳴っています。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
put_PhoneHandlingEnabled メソッドは、PhoneHandlingEnabled プロパティを設定します。
| fEnabled | VARIANT_BOOL | in | VARIANT_TRUE の場合、電話処理が有効になります。VARIANT_FALSE の場合、電話処理は無効になります。既定値は VARIANT_FALSE です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
通常、アプリケーションは、PhoneHandlingEnabled プロパティを VARIANT_TRUE に設定する前に、ITAutomatedPhoneControl インターフェイスの他のプロパティを設定します (必要な自動電話操作機能の詳細を構成するため)。ただし、put_PhoneHandlingEnabled メソッドを呼び出して機能を有効にした後でプロパティを調整することもできます。
ITPhone::Close メソッドの呼び出しによって電話が閉じられると、PhoneHandlingEnabled プロパティは自動的に VARIANT_FALSE にリセットされます。
PhoneHandlingEnabled プロパティを VARIANT_TRUE に設定し、電話にリンガーデバイスがない場合、呼び出し音はシステムの既定のオーディオデバイス (たとえばサウンドカードのスピーカー) で再生されます。詳細については、PHONECAPS_LONG を参照してください。
自動電話操作機能を取得および設定するプロパティメソッドの一覧については、ITAutomatedPhoneControl を参照してください。
get_PhoneHandlingEnabled メソッドは、PhoneHandlingEnabled プロパティの現在の値を取得します。
| pfEnabled | VARIANT_BOOL* | out | 自動電話処理が有効な場合は VARIANT_TRUE、有効でない場合は VARIANT_FALSE。既定値は VARIANT_FALSE です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
通常、アプリケーションは、PhoneHandlingEnabled プロパティを VARIANT_TRUE に設定する前に、ITAutomatedPhoneControl インターフェイスの他のプロパティを設定します (必要な自動電話操作機能の詳細を構成するため)。ただし、put_PhoneHandlingEnabled メソッドを呼び出して機能を有効にした後でプロパティを調整することもできます。
ITPhone::Close メソッドの呼び出しによって電話が閉じられると、PhoneHandlingEnabled プロパティは自動的に VARIANT_FALSE にリセットされます。
自動電話操作機能を取得および設定するプロパティメソッドの一覧については、ITAutomatedPhoneControl を参照してください。
put_AutoEndOfNumberTimeout メソッドは、AutoEndOfNumberTimeout プロパティの値を設定します。このプロパティは、数字が押されてから、番号全体が入力されたと見なすまでの待機時間を指定します。
| lTimeout | INT | in | 待機するタイムアウト間隔 (ミリ秒単位)。既定値は 3000 ミリ秒です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
値を 0 にするとこのタイムアウトが無効になり、番号入力の終了検出は、ユーザーが # または SEND ボタンを押すことのみに基づいて行われます。
ITAutomatedPhoneControl::SelectCall の呼び出しが成功すると、(検出イベントを発生させずに) 番号入力の終了検出が停止し、そのコールの選択が解除されるまで検出は中断されたままになります。
AutoEndOfNumberTimeout プロパティは、少なくとも 1 つのキーパッドボタンが押された後の動作のみを制御します。
get_AutoEndOfNumberTimeout メソッドは、AutoEndOfNumberTimeout プロパティの現在の値を取得します。このプロパティは、数字が押されてから、番号全体が入力されたと見なすまでの待機時間を指定します。
| plTimeout | INT* | out | 待機するタイムアウト間隔 (ミリ秒単位)。既定値は 3000 ミリ秒です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
値を 0 にするとこのタイムアウトが無効になり、番号入力の終了検出は、ユーザーが # または SEND ボタンを押すことのみに基づいて行われます。
ITAutomatedPhoneControl::SelectCall の呼び出しが成功すると、(検出イベントを発生させずに) 番号入力の終了検出が停止し、そのコールの選択が解除されるまで検出は中断されたままになります。
AutoEndOfNumberTimeout プロパティは、少なくとも 1 つのキーパッドボタンが押された後の動作のみを制御します。
put_AutoDialtone メソッドは、AutoDialtone プロパティの値を設定します。
| fEnabled | VARIANT_BOOL | in | VARIANT_TRUE の場合、自動ダイヤルトーンを有効にします。VARIANT_FALSE の場合、自動ダイヤルトーンを無効にします。既定値は VARIANT_TRUE です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
AutoDialtone プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoDialtone プロパティはいつでも設定できます。再構成は、次に電話がオフフックになったときに有効になります。
ITAutomatedPhoneControl::SelectCall の呼び出しが成功すると、すべてのダイヤルトーンの生成が停止します。ダイヤルトーンの生成は、そのコールの選択が解除されるまで中断されたままになります。
get_AutoDialtone メソッドは、AutoDialtone プロパティの現在の値を取得します。
| pfEnabled | VARIANT_BOOL* | out | VARIANT_TRUE の場合、自動ダイヤルトーンは有効です。VARIANT_FALSE の場合、自動ダイヤルトーンは無効です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
AutoDialtone プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoDialtone プロパティはいつでも設定できます。再構成は、次に電話がオフフックになったときに有効になります。
ITAutomatedPhoneControl::SelectCall の呼び出しが成功すると、すべてのダイヤルトーンの生成が停止します。ダイヤルトーンの生成は、そのコールの選択が解除されるまで中断されたままになります。
put_AutoStopTonesOnOnHook メソッドは、この電話の AutoStopTonesOnOnHook プロパティを設定します。
| fEnabled | VARIANT_BOOL | in | VARIANT_TRUE の場合、電話がオンフックになったときにトーン生成を自動的に停止する機能を有効にします。VARIANT_FALSE の場合、電話がオンフックになったときの自動停止を無効にします。既定値は VARIANT_TRUE です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
AutoStopTonesOnOnHook プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoStopTonesOnOnHook プロパティはいつでも設定できます。再構成は、次に電話がオンフックになったときに有効になります。
get_AutoStopTonesOnOnHook メソッドは、AutoStopTonesOnOnHook プロパティの現在の値を取得します。
| pfEnabled | VARIANT_BOOL* | out | VARIANT_TRUE の場合、オンフック時のトーン生成の自動停止が有効です。VARIANT_FALSE の場合、オンフック時のトーン生成の自動停止は無効です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
AutoStopTonesOnOnHook プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoStopTonesOnOnHook プロパティはいつでも設定できます。再構成は、次に電話がオンフックになったときに有効になります。
put_AutoStopRingOnOffHook メソッドは、AutoStopRingOnOffHook プロパティを設定します。この機能が有効な場合、電話がオフフックになると、(ITAutomatedPhoneControl::StopRinger の呼び出しによって) 電話で発生している着信リングが終了します。
| fEnabled | VARIANT_BOOL | in | VARIANT_TRUE の場合、電話がオフフックになったときに着信リングを自動的に終了する機能を有効にします。VARIANT_FALSE の場合、電話がオフフックになったときの着信リングの自動終了を無効にします。既定値は VARIANT_TRUE です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
AutoStopRingOnOffHook プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoStopRingOnOffHook プロパティはいつでも設定できます。再構成は、次に電話がオフフックになったときに有効になります。
get_AutoStopRingOnOffHook メソッドは、AutoStopRingOnOffHook プロパティの現在の値を取得します。
| pfEnabled | VARIANT_BOOL* | out | VARIANT_TRUE の場合、電話がオフフックになったときの着信リングの自動終了が有効です。VARIANT_FALSE の場合、電話がオフフックになったときの着信リングの自動終了は無効です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
AutoStopRingOnOffHook プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoStopRingOnOffHook プロパティはいつでも設定できます。再構成は、次に電話がオフフックになったときに有効になります。
put_AutoKeypadTones メソッドは、この電話の AutoKeypadTones プロパティを設定します。この機能が有効な場合、キーパッドボタンが押されるたびに数字トーンが自動的に再生されます。
| fEnabled | VARIANT_BOOL | in | VARIANT_TRUE の場合、電話キーパッドのトーンの自動生成が有効になります。VARIANT_FALSE の場合、キーパッドのトーン生成は無効になります。既定値は VARIANT_TRUE です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
電話デバイスがボタンの押下を PBS_DOWN として報告した場合、電話デバイスが PBS_UP イベントを報告するまで、または最小継続時間が経過するまでのいずれか長い方までトーンが再生されます。(最小継続時間は AutoKeypadTonesMinimumDuration プロパティによって決定されます。)
キーパッドのトーン生成は、電話がオフフックのときにのみ発生します。リングバックなどの別のトーンが現在再生中の場合、キーパッドトーンはそのトーンを中断し、キーパッドトーンの再生が終了した後に自動的に元のトーンを復元します。
AutoKeypadTones プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoKeypadTones プロパティはいつでも設定できます。再構成は、次に電話のキーパッドボタンが押されたときに有効になります。
get_AutoKeypadTones メソッドは、この電話の AutoKeypadTones プロパティを取得します。この機能が有効な場合、キーパッドボタンが押されるたびに数字トーンが自動的に再生されます。
| pfEnabled | VARIANT_BOOL* | out | この電話で電話キーパッドのフィードバックトーンの自動生成が有効な場合は VARIANT_TRUE。この電話で電話キーパッドのフィードバックトーンの自動生成が無効な場合は VARIANT_FALSE。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
電話デバイスがボタンの押下を PBS_DOWN として報告した場合、電話デバイスが PBS_UP イベントを報告するまで、または最小継続時間が経過するまでのいずれか長い方までトーンが再生されます。(最小継続時間は AutoKeypadTonesMinimumDuration プロパティによって決定されます。)
キーパッドのトーン生成は、電話がオフフックのときにのみ発生します。リングバックなどの別のトーンが現在再生中の場合、キーパッドトーンはそのトーンを中断し、キーパッドトーンの再生が終了した後に自動的に元のトーンを復元します。
AutoKeypadTones プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoKeypadTones プロパティはいつでも設定できます。再構成は、次に電話のキーパッドボタンが押されたときに有効になります。
put_AutoKeypadTonesMinimumDuration メソッドは、AutoKeypadTonesMinimumDuration プロパティの値を設定します。このプロパティは、PBS_DOWN 時にキーパッドトーンを再生する長さを指定します。
| lDuration | INT | in | キーパッドトーンの最小継続時間 (ミリ秒単位)。既定値は 250 ミリ秒です。PBS_UP イベントが発生しないまま最小継続時間が経過した場合、キーパッドトーンは PBS_UP イベントを受信するまで継続します。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
AutoKeypadTonesMinimumDuration プロパティは、AutoKeypadTones プロパティの値が VARIANT_TRUE の場合にのみ有効です。
get_AutoKeypadTonesMinimumDuration メソッドは、AutoKeypadTonesMinimumDuration プロパティの現在の値を取得します。このプロパティは、PBS_DOWN 時にキーパッドトーンを再生する長さを指定します。
| plDuration | INT* | out | キーパッドトーンの最小継続時間 (ミリ秒単位)。既定値は 250 ミリ秒です。PBS_UP イベントが発生しないまま最小継続時間が経過した場合、キーパッドトーンは PBS_UP イベントを受信するまで継続します。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
AutoKeypadTonesMinimumDuration プロパティは、AutoKeypadTones プロパティの値が VARIANT_TRUE の場合にのみ機能します。
put_AutoVolumeControl メソッドは、この電話の AutoVolumeControl プロパティを設定します。
| fEnabled | VARIANT_BOOL | in | VARIANT_TRUE の場合、自動音量制御を有効にします。VARIANT_FALSE の場合、自動音量制御を無効にします。既定値は VARIANT_TRUE です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
AutoVolumeControl プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoVolumeControl プロパティはいつでも設定できます。再構成は、次に音量ボタンが押されたときに有効になります。
get_AutoVolumeControl メソッドは、AutoVolumeControl プロパティの現在の値を取得します。
| fEnabled | VARIANT_BOOL* | out | VARIANT_TRUE は自動音量制御が有効であることを示します。VARIANT_FALSE は自動音量制御が無効であることを示します。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
AutoVolumeControl プロパティはいつでも設定できます。再構成は、次に音量ボタンが押されたときに有効になります。
AutoVolumeControl プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。
put_AutoVolumeControlStep メソッドは、AutoVolumeControlStep プロパティを設定します。このプロパティは、音量ボタンが押されたときに電話の音量を調整する量を決定します。
| lStepSize | INT | in | 音量制御のステップ (ミリ秒単位)。AutoVolumeControlStep プロパティの既定値は 4096 です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
AutoVolumeControlRepeatDelay プロパティは、AutoKeypadTones プロパティの値が VARIANT_TRUE の場合にのみ有効です。
get_AutoVolumeControlStep メソッドは、AutoVolumeControlStep プロパティの現在の値を取得します。このプロパティは、音量ボタンが押されたときに電話の音量を調整する量を決定します。
| plStepSize | INT* | out | 音量制御のステップ。AutoVolumeControlStep プロパティの既定値は 4096 です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
put_AutoVolumeControlRepeatDelay メソッドは、AutoVolumeControlRepeatDelay プロパティを設定します。このプロパティは、音量ボタンを押し続けたときにリピートが始まるまでの遅延を、ミリ秒単位で指定します。
| lDelay | INT | in | 音量ボタンのリピートが始まるまでの遅延 (ミリ秒単位)。既定値は 500 ミリ秒です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
AutoVolumeControlRepeatDelay プロパティは、AutoKeypadTones プロパティの値が VARIANT_TRUE の場合にのみ有効です。
get_AutoVolumeControlRepeatDelay メソッドは、AutoVolumeControlRepeatDelay プロパティの現在の値を取得します。このプロパティは、音量ボタンを押し続けたときにリピートが始まるまでの遅延を、ミリ秒単位で指定します。
| plDelay | INT* | out | 音量リピートの遅延 (ミリ秒単位)。既定値は 500 ミリ秒です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
AutoVolumeControlRepeatDelay プロパティは、AutoKeypadTones プロパティの値が VARIANT_TRUE の場合にのみ有効です。
put_AutoVolumeControlRepeatPeriod メソッドは、AutoVolumeControlRepeatPeriod プロパティを設定します。このプロパティは、音量ボタンを押し続けたときのボタンリピートの間隔を、ミリ秒単位で制御します。
| lPeriod | INT | in | 音量ボタンを押し続けたときのボタンリピートの間隔 (ミリ秒単位)。既定値は 100 ミリ秒です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
AutoVolumeControlRepeatDelay プロパティは、AutoKeypadTones プロパティの値が VARIANT_TRUE の場合にのみ有効です。
get_AutoVolumeControlRepeatPeriod メソッドは、AutoVolumeControlRepeatPeriod プロパティの現在の値を取得します。このプロパティは、音量ボタンを押し続けたときのボタンリピートの間隔を、ミリ秒単位で制御します。
| plPeriod | INT* | out | 音量ボタンを押し続けたときのボタンリピートの間隔 (ミリ秒単位)。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
AutoVolumeControlRepeatDelay プロパティは、AutoKeypadTones プロパティの値が VARIANT_TRUE の場合にのみ有効です。
SelectCall メソッドは、現在の電話オブジェクトを、pCall パラメーターが指す Call オブジェクトに対して選択します。
| pCall | ITCallInfo* | in | ITCallInfo インターフェイスへのポインター。 |
| fSelectDefaultTerminals | VARIANT_BOOL | in | VARIANT_TRUE の場合、既定のターミナルを使用します。詳細については、後述の「解説」セクションを参照してください。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
このメソッドが成功を返すには、アプリケーションがコールと電話の両方に対して所有者権限 (owner privilege) を持っている必要があります。電話が所有者権限で既に開かれていない場合、このメソッドは失敗します。
fSelectDefaultTerminals パラメーターが VARIANT_TRUE に設定されている場合、このメソッドは電話に関連付けられたすべての既定のターミナルを取得し、それらをコールに対して選択しようとします。いずれかのターミナルのインスタンス化に失敗した場合、またはいずれかのターミナルのコールへの選択に失敗した場合、SelectCall メソッド全体が失敗を返し、コールは電話に対して選択されません。これがアプリケーションにとって望ましい動作でない場合、アプリケーションは fSelectDefaultTerminals パラメーターに VARIANT_FALSE を渡し、ターミナルの選択を個別に処理する必要があります。
このメソッドが正常に完了すると、電話オブジェクトはコールオブジェクトへの参照を保持します (つまり、ITCallInfo に対して AddRef メソッドを呼び出します)。
Windows XP では、一度に 1 つのコールのみを電話で選択できます。将来のバージョンの TAPI では、複数のコールアピアランスをサポートする電話で使用するために、複数のコールの同時選択がサポートされる可能性があります。
コールの選択は 2 つの方法で解除できることに注意してください。(1) アプリケーションが ITAutomatedPhoneControl::UnselectCall を呼び出すか、(2) 電話オブジェクト自体が ITAutomatedPhoneControl::UnselectCall を呼び出します。これがいつ発生するかについては、次の一覧を参照してください。
このメソッドが正常に完了した後、選択されたコールに対して次の処理が実行されます。
- 電話がオンフックになると、電話オブジェクトは、まだ CS_DISCONNECTED コール状態になっていない、現在処理中のコールに対して ITBasicCallControl::Disconnect を呼び出します。
- 選択されたコールが CS_DISCONNECTED コール状態に達すると、電話オブジェクトは ITAutomatedPhoneControl::UnselectCall メソッドを使用して自動的にコールの選択を解除します。
- 電話が閉じられると、選択されているコールはその電話から自動的に選択解除されます。
- 電話がオフフックになったとき、または電話がオフフックのときにコールが選択されたとき、電話オブジェクトは、現在処理中のコールが CS_OFFERING コール状態にある場合、そのコールに対して ITBasicCallControl::Answer を呼び出します。
- 電話がオフフックの状態でコールが CS_INPROGRESS コール状態で選択されたとき、または電話に選択されているコールが電話がオフフックの状態で CS_INPROGRESS コール状態になったとき、電話オブジェクトは自身に対して ITAutomatedPhoneControl::StartTone( PT_RINGBACK, 0 ) を呼び出します。
- コールが CS_CONNECTED コール状態で選択されたとき、または電話に選択されているコールが CS_CONNECTED コール状態になったとき、電話オブジェクトは自身に対して ITAutomatedPhoneControl::StopTone を呼び出します。
- 電話がオンフックの状態でコールが CS_OFFERING、CS_INPROGRESS、または CS_CONNECTED コール状態で選択されたとき、電話オブジェクトは自身に対して ITAutomatedPhoneControl::StartRinger( 0, 0 ) を呼び出します。これは、電話に選択されているコールが電話がオンフックの状態で CS_OFFERING、CS_INPROGRESS、または CS_CONNECTED コール状態になったときにも発生します。
- 電話がオンフックの場合、電話オブジェクトは自身に対して ITAutomatedPhoneControl::StopRinger を呼び出します。
- 電話がオフフックで、CS_DISCONNECTED コール状態イベントの原因が CEC_DISCONNECT_BUSY に等しい場合、電話オブジェクトは ITAutomatedPhoneControl::StartTone( PT_BUSY, 0 ) を呼び出します。
- 電話がオフフックで、CS_DISCONNECTED コール状態イベントの原因が CEC_DISCONNECT_NORMAL に等しい場合、電話オブジェクトは ITAutomatedPhoneControl::StopTone を呼び出します。
- 電話がオフフックで、CS_DISCONNECTED コール状態イベントの原因が CEC_DISCONNECT_BUSY でも CEC_DISCONNECT_NORMAL でもない場合、電話オブジェクトは ITAutomatedPhoneControl::StartTone( PT_ERROR, 0 ) を呼び出します。
UnselectCall メソッドは、指定したコールをこの電話オブジェクトから削除し、コールオブジェクトへの電話オブジェクトの参照を解放します。
| pCall | ITCallInfo* | in | ITCallInfo インターフェイスへのポインター。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
EnumerateSelectedCalls メソッドは、この電話で現在選択されているコールを示す列挙子オブジェクトを取得します。詳細については、ITAutomatedPhoneControl::SelectCall を参照してください。
| ppCallEnum | IEnumCall** | out | IEnumCall インターフェイスへのポインター。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
解説(Remarks)
TAPI は、このメソッドが返す IEnumCall インターフェイスに対して AddRef メソッドを呼び出します。アプリケーションは、それに関連付けられたリソースを解放するために、IEnumCall インターフェイスに対して Release メソッドを呼び出す必要があります。
get_SelectedCalls メソッドは、この電話で現在選択されているコールを示すコレクションオブジェクトへのポインターを含む VARIANT を取得します。詳細については、ITAutomatedPhoneControl::SelectCall を参照してください。
| pVariant | VARIANT* | out | IEnumCall インターフェイスポインターの ITCollection を含む VARIANT へのポインター。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ITAutomatedPhoneControl "{1EE1AF0E-6159-4A61-B79B-6A4BA3FC9DFC}" #usecom global ITAutomatedPhoneControl IID_ITAutomatedPhoneControl "{}" #comfunc global ITAutomatedPhoneControl_StartTone 7 int,int #comfunc global ITAutomatedPhoneControl_StopTone 8 #comfunc global ITAutomatedPhoneControl_get_Tone 9 var #comfunc global ITAutomatedPhoneControl_StartRinger 10 int,int #comfunc global ITAutomatedPhoneControl_StopRinger 11 #comfunc global ITAutomatedPhoneControl_get_Ringer 12 var #comfunc global ITAutomatedPhoneControl_put_PhoneHandlingEnabled 13 int #comfunc global ITAutomatedPhoneControl_get_PhoneHandlingEnabled 14 var #comfunc global ITAutomatedPhoneControl_put_AutoEndOfNumberTimeout 15 int #comfunc global ITAutomatedPhoneControl_get_AutoEndOfNumberTimeout 16 var #comfunc global ITAutomatedPhoneControl_put_AutoDialtone 17 int #comfunc global ITAutomatedPhoneControl_get_AutoDialtone 18 var #comfunc global ITAutomatedPhoneControl_put_AutoStopTonesOnOnHook 19 int #comfunc global ITAutomatedPhoneControl_get_AutoStopTonesOnOnHook 20 var #comfunc global ITAutomatedPhoneControl_put_AutoStopRingOnOffHook 21 int #comfunc global ITAutomatedPhoneControl_get_AutoStopRingOnOffHook 22 var #comfunc global ITAutomatedPhoneControl_put_AutoKeypadTones 23 int #comfunc global ITAutomatedPhoneControl_get_AutoKeypadTones 24 var #comfunc global ITAutomatedPhoneControl_put_AutoKeypadTonesMinimumDuration 25 int #comfunc global ITAutomatedPhoneControl_get_AutoKeypadTonesMinimumDuration 26 var #comfunc global ITAutomatedPhoneControl_put_AutoVolumeControl 27 int #comfunc global ITAutomatedPhoneControl_get_AutoVolumeControl 28 var #comfunc global ITAutomatedPhoneControl_put_AutoVolumeControlStep 29 int #comfunc global ITAutomatedPhoneControl_get_AutoVolumeControlStep 30 var #comfunc global ITAutomatedPhoneControl_put_AutoVolumeControlRepeatDelay 31 int #comfunc global ITAutomatedPhoneControl_get_AutoVolumeControlRepeatDelay 32 var #comfunc global ITAutomatedPhoneControl_put_AutoVolumeControlRepeatPeriod 33 int #comfunc global ITAutomatedPhoneControl_get_AutoVolumeControlRepeatPeriod 34 var #comfunc global ITAutomatedPhoneControl_SelectCall 35 sptr,int #comfunc global ITAutomatedPhoneControl_UnselectCall 36 sptr #comfunc global ITAutomatedPhoneControl_EnumerateSelectedCalls 37 sptr #comfunc global ITAutomatedPhoneControl_get_SelectedCalls 38 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_ITAutomatedPhoneControl "{1EE1AF0E-6159-4A61-B79B-6A4BA3FC9DFC}" #usecom global ITAutomatedPhoneControl IID_ITAutomatedPhoneControl "{}" #comfunc global ITAutomatedPhoneControl_StartTone 7 int,int #comfunc global ITAutomatedPhoneControl_StopTone 8 #comfunc global ITAutomatedPhoneControl_get_Tone 9 sptr #comfunc global ITAutomatedPhoneControl_StartRinger 10 int,int #comfunc global ITAutomatedPhoneControl_StopRinger 11 #comfunc global ITAutomatedPhoneControl_get_Ringer 12 sptr #comfunc global ITAutomatedPhoneControl_put_PhoneHandlingEnabled 13 int #comfunc global ITAutomatedPhoneControl_get_PhoneHandlingEnabled 14 sptr #comfunc global ITAutomatedPhoneControl_put_AutoEndOfNumberTimeout 15 int #comfunc global ITAutomatedPhoneControl_get_AutoEndOfNumberTimeout 16 sptr #comfunc global ITAutomatedPhoneControl_put_AutoDialtone 17 int #comfunc global ITAutomatedPhoneControl_get_AutoDialtone 18 sptr #comfunc global ITAutomatedPhoneControl_put_AutoStopTonesOnOnHook 19 int #comfunc global ITAutomatedPhoneControl_get_AutoStopTonesOnOnHook 20 sptr #comfunc global ITAutomatedPhoneControl_put_AutoStopRingOnOffHook 21 int #comfunc global ITAutomatedPhoneControl_get_AutoStopRingOnOffHook 22 sptr #comfunc global ITAutomatedPhoneControl_put_AutoKeypadTones 23 int #comfunc global ITAutomatedPhoneControl_get_AutoKeypadTones 24 sptr #comfunc global ITAutomatedPhoneControl_put_AutoKeypadTonesMinimumDuration 25 int #comfunc global ITAutomatedPhoneControl_get_AutoKeypadTonesMinimumDuration 26 sptr #comfunc global ITAutomatedPhoneControl_put_AutoVolumeControl 27 int #comfunc global ITAutomatedPhoneControl_get_AutoVolumeControl 28 sptr #comfunc global ITAutomatedPhoneControl_put_AutoVolumeControlStep 29 int #comfunc global ITAutomatedPhoneControl_get_AutoVolumeControlStep 30 sptr #comfunc global ITAutomatedPhoneControl_put_AutoVolumeControlRepeatDelay 31 int #comfunc global ITAutomatedPhoneControl_get_AutoVolumeControlRepeatDelay 32 sptr #comfunc global ITAutomatedPhoneControl_put_AutoVolumeControlRepeatPeriod 33 int #comfunc global ITAutomatedPhoneControl_get_AutoVolumeControlRepeatPeriod 34 sptr #comfunc global ITAutomatedPhoneControl_SelectCall 35 sptr,int #comfunc global ITAutomatedPhoneControl_UnselectCall 36 sptr #comfunc global ITAutomatedPhoneControl_EnumerateSelectedCalls 37 sptr #comfunc global ITAutomatedPhoneControl_get_SelectedCalls 38 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。