Win32 API 日本語リファレンス
ホームDevices.Tapi › ITAutomatedPhoneControl

ITAutomatedPhoneControl

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID1ee1af0e-6159-4a61-b79b-6a4ba3fc9dfc継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

公式ドキュメント

ITAutomatedPhoneControl は、TAPI の電話オブジェクトが公開する、完全に OLE オートメーション対応かつスクリプト可能なインターフェイスです。

解説(Remarks)

ITAutomatedPhoneControl ポインターは、ITPhone::Close メソッドが呼び出されると無効になります。

メソッド 32

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT StartTone(PHONE_TONE Tone, INT lDuration)

StartTone メソッドは、制御トーンを送信します。

TonePHONE_TONEin送信するトーンの種類を表す PHONE_TONE 記述子 (PT_KEYPADONE など)。
lDurationINTin送信するトーンの長さ (ミリ秒単位)。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

vtbl 8 HRESULT StopTone()

StopTone メソッドは、現在再生中のトーンを停止します。トーンが再生されていない場合、このメソッドは何も行わず、成功を返します。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

vtbl 9 HRESULT get_Tone(PHONE_TONE* pTone)

get_Tone メソッドは、電話が現在再生しているトーンの種類 (存在する場合) を示す PHONE_TONE 列挙値を返します。

pTonePHONE_TONE*out再生中のトーンを表す PHONE_TONE 記述子。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

vtbl 10 HRESULT StartRinger(INT lRingMode, INT lDuration)

StartRinger メソッドは、リングモードとリングの長さを指定して、電話のリンガー (呼び出し音) を開始します。

lRingModeINTinリングモード。この値の正確な意味はデバイスに依存します。詳細については、後述の「解説」セクションを参照してください。
lDurationINTinリングの長さ。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

lRingMode パラメーターに 0 を指定し、電話にリンガーデバイスがない場合、StartRinger メソッドは、システムの既定のオーディオレンダリングデバイスで呼び出し音を再生しようとします。既定のデバイスの例としては、サウンドカードのスピーカーや USB 電話のオーディオレンダリングデバイスがあります。詳細については、PHONECAPS_LONG を参照してください。

vtbl 11 HRESULT StopRinger()

StopRinger メソッドは、現在発生している着信リングを停止します。リングが発生していない場合、このメソッドは何も行わず、成功を返します。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

vtbl 12 HRESULT get_Ringer(VARIANT_BOOL* pfRinging)

get_Ringer メソッドは、このインターフェイスの StartRinger メソッドによって開始された着信リングを電話が現在実行しているかどうかを示すブール値を返します。

pfRingingVARIANT_BOOL*outVARIANT_TRUE の場合、電話は現在鳴っています。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

vtbl 13 HRESULT put_PhoneHandlingEnabled(VARIANT_BOOL fEnabled)

put_PhoneHandlingEnabled メソッドは、PhoneHandlingEnabled プロパティを設定します。

fEnabledVARIANT_BOOLinVARIANT_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 を参照してください。

vtbl 14 HRESULT get_PhoneHandlingEnabled(VARIANT_BOOL* pfEnabled)

get_PhoneHandlingEnabled メソッドは、PhoneHandlingEnabled プロパティの現在の値を取得します。

pfEnabledVARIANT_BOOL*out自動電話処理が有効な場合は VARIANT_TRUE、有効でない場合は VARIANT_FALSE。既定値は VARIANT_FALSE です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

通常、アプリケーションは、PhoneHandlingEnabled プロパティを VARIANT_TRUE に設定する前に、ITAutomatedPhoneControl インターフェイスの他のプロパティを設定します (必要な自動電話操作機能の詳細を構成するため)。ただし、put_PhoneHandlingEnabled メソッドを呼び出して機能を有効にした後でプロパティを調整することもできます。

ITPhone::Close メソッドの呼び出しによって電話が閉じられると、PhoneHandlingEnabled プロパティは自動的に VARIANT_FALSE にリセットされます。

自動電話操作機能を取得および設定するプロパティメソッドの一覧については、ITAutomatedPhoneControl を参照してください。

vtbl 15 HRESULT put_AutoEndOfNumberTimeout(INT lTimeout)

put_AutoEndOfNumberTimeout メソッドは、AutoEndOfNumberTimeout プロパティの値を設定します。このプロパティは、数字が押されてから、番号全体が入力されたと見なすまでの待機時間を指定します。

lTimeoutINTin待機するタイムアウト間隔 (ミリ秒単位)。既定値は 3000 ミリ秒です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

値を 0 にするとこのタイムアウトが無効になり、番号入力の終了検出は、ユーザーが # または SEND ボタンを押すことのみに基づいて行われます。

ITAutomatedPhoneControl::SelectCall の呼び出しが成功すると、(検出イベントを発生させずに) 番号入力の終了検出が停止し、そのコールの選択が解除されるまで検出は中断されたままになります。

AutoEndOfNumberTimeout プロパティは、少なくとも 1 つのキーパッドボタンが押された後の動作のみを制御します。

vtbl 16 HRESULT get_AutoEndOfNumberTimeout(INT* plTimeout)

get_AutoEndOfNumberTimeout メソッドは、AutoEndOfNumberTimeout プロパティの現在の値を取得します。このプロパティは、数字が押されてから、番号全体が入力されたと見なすまでの待機時間を指定します。

plTimeoutINT*out待機するタイムアウト間隔 (ミリ秒単位)。既定値は 3000 ミリ秒です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

値を 0 にするとこのタイムアウトが無効になり、番号入力の終了検出は、ユーザーが # または SEND ボタンを押すことのみに基づいて行われます。

ITAutomatedPhoneControl::SelectCall の呼び出しが成功すると、(検出イベントを発生させずに) 番号入力の終了検出が停止し、そのコールの選択が解除されるまで検出は中断されたままになります。

AutoEndOfNumberTimeout プロパティは、少なくとも 1 つのキーパッドボタンが押された後の動作のみを制御します。

vtbl 17 HRESULT put_AutoDialtone(VARIANT_BOOL fEnabled)

put_AutoDialtone メソッドは、AutoDialtone プロパティの値を設定します。

fEnabledVARIANT_BOOLinVARIANT_TRUE の場合、自動ダイヤルトーンを有効にします。VARIANT_FALSE の場合、自動ダイヤルトーンを無効にします。既定値は VARIANT_TRUE です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

AutoDialtone プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoDialtone プロパティはいつでも設定できます。再構成は、次に電話がオフフックになったときに有効になります。

ITAutomatedPhoneControl::SelectCall の呼び出しが成功すると、すべてのダイヤルトーンの生成が停止します。ダイヤルトーンの生成は、そのコールの選択が解除されるまで中断されたままになります。

vtbl 18 HRESULT get_AutoDialtone(VARIANT_BOOL* pfEnabled)

get_AutoDialtone メソッドは、AutoDialtone プロパティの現在の値を取得します。

pfEnabledVARIANT_BOOL*outVARIANT_TRUE の場合、自動ダイヤルトーンは有効です。VARIANT_FALSE の場合、自動ダイヤルトーンは無効です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

AutoDialtone プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoDialtone プロパティはいつでも設定できます。再構成は、次に電話がオフフックになったときに有効になります。

ITAutomatedPhoneControl::SelectCall の呼び出しが成功すると、すべてのダイヤルトーンの生成が停止します。ダイヤルトーンの生成は、そのコールの選択が解除されるまで中断されたままになります。

vtbl 19 HRESULT put_AutoStopTonesOnOnHook(VARIANT_BOOL fEnabled)

put_AutoStopTonesOnOnHook メソッドは、この電話の AutoStopTonesOnOnHook プロパティを設定します。

fEnabledVARIANT_BOOLinVARIANT_TRUE の場合、電話がオンフックになったときにトーン生成を自動的に停止する機能を有効にします。VARIANT_FALSE の場合、電話がオンフックになったときの自動停止を無効にします。既定値は VARIANT_TRUE です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

AutoStopTonesOnOnHook プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoStopTonesOnOnHook プロパティはいつでも設定できます。再構成は、次に電話がオンフックになったときに有効になります。

vtbl 20 HRESULT get_AutoStopTonesOnOnHook(VARIANT_BOOL* pfEnabled)

get_AutoStopTonesOnOnHook メソッドは、AutoStopTonesOnOnHook プロパティの現在の値を取得します。

pfEnabledVARIANT_BOOL*outVARIANT_TRUE の場合、オンフック時のトーン生成の自動停止が有効です。VARIANT_FALSE の場合、オンフック時のトーン生成の自動停止は無効です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

AutoStopTonesOnOnHook プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoStopTonesOnOnHook プロパティはいつでも設定できます。再構成は、次に電話がオンフックになったときに有効になります。

vtbl 21 HRESULT put_AutoStopRingOnOffHook(VARIANT_BOOL fEnabled)

put_AutoStopRingOnOffHook メソッドは、AutoStopRingOnOffHook プロパティを設定します。この機能が有効な場合、電話がオフフックになると、(ITAutomatedPhoneControl::StopRinger の呼び出しによって) 電話で発生している着信リングが終了します。

fEnabledVARIANT_BOOLinVARIANT_TRUE の場合、電話がオフフックになったときに着信リングを自動的に終了する機能を有効にします。VARIANT_FALSE の場合、電話がオフフックになったときの着信リングの自動終了を無効にします。既定値は VARIANT_TRUE です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

AutoStopRingOnOffHook プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoStopRingOnOffHook プロパティはいつでも設定できます。再構成は、次に電話がオフフックになったときに有効になります。

vtbl 22 HRESULT get_AutoStopRingOnOffHook(VARIANT_BOOL* pfEnabled)

get_AutoStopRingOnOffHook メソッドは、AutoStopRingOnOffHook プロパティの現在の値を取得します。

pfEnabledVARIANT_BOOL*outVARIANT_TRUE の場合、電話がオフフックになったときの着信リングの自動終了が有効です。VARIANT_FALSE の場合、電話がオフフックになったときの着信リングの自動終了は無効です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

AutoStopRingOnOffHook プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoStopRingOnOffHook プロパティはいつでも設定できます。再構成は、次に電話がオフフックになったときに有効になります。

vtbl 23 HRESULT put_AutoKeypadTones(VARIANT_BOOL fEnabled)

put_AutoKeypadTones メソッドは、この電話の AutoKeypadTones プロパティを設定します。この機能が有効な場合、キーパッドボタンが押されるたびに数字トーンが自動的に再生されます。

fEnabledVARIANT_BOOLinVARIANT_TRUE の場合、電話キーパッドのトーンの自動生成が有効になります。VARIANT_FALSE の場合、キーパッドのトーン生成は無効になります。既定値は VARIANT_TRUE です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

電話デバイスがボタンの押下を PBS_DOWN として報告した場合、電話デバイスが PBS_UP イベントを報告するまで、または最小継続時間が経過するまでのいずれか長い方までトーンが再生されます。(最小継続時間は AutoKeypadTonesMinimumDuration プロパティによって決定されます。)

キーパッドのトーン生成は、電話がオフフックのときにのみ発生します。リングバックなどの別のトーンが現在再生中の場合、キーパッドトーンはそのトーンを中断し、キーパッドトーンの再生が終了した後に自動的に元のトーンを復元します。

AutoKeypadTones プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoKeypadTones プロパティはいつでも設定できます。再構成は、次に電話のキーパッドボタンが押されたときに有効になります。

vtbl 24 HRESULT get_AutoKeypadTones(VARIANT_BOOL* pfEnabled)

get_AutoKeypadTones メソッドは、この電話の AutoKeypadTones プロパティを取得します。この機能が有効な場合、キーパッドボタンが押されるたびに数字トーンが自動的に再生されます。

pfEnabledVARIANT_BOOL*outこの電話で電話キーパッドのフィードバックトーンの自動生成が有効な場合は VARIANT_TRUE。この電話で電話キーパッドのフィードバックトーンの自動生成が無効な場合は VARIANT_FALSE

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

電話デバイスがボタンの押下を PBS_DOWN として報告した場合、電話デバイスが PBS_UP イベントを報告するまで、または最小継続時間が経過するまでのいずれか長い方までトーンが再生されます。(最小継続時間は AutoKeypadTonesMinimumDuration プロパティによって決定されます。)

キーパッドのトーン生成は、電話がオフフックのときにのみ発生します。リングバックなどの別のトーンが現在再生中の場合、キーパッドトーンはそのトーンを中断し、キーパッドトーンの再生が終了した後に自動的に元のトーンを復元します。

AutoKeypadTones プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoKeypadTones プロパティはいつでも設定できます。再構成は、次に電話のキーパッドボタンが押されたときに有効になります。

vtbl 25 HRESULT put_AutoKeypadTonesMinimumDuration(INT lDuration)

put_AutoKeypadTonesMinimumDuration メソッドは、AutoKeypadTonesMinimumDuration プロパティの値を設定します。このプロパティは、PBS_DOWN 時にキーパッドトーンを再生する長さを指定します。

lDurationINTinキーパッドトーンの最小継続時間 (ミリ秒単位)。既定値は 250 ミリ秒です。PBS_UP イベントが発生しないまま最小継続時間が経過した場合、キーパッドトーンは PBS_UP イベントを受信するまで継続します。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

AutoKeypadTonesMinimumDuration プロパティは、AutoKeypadTones プロパティの値が VARIANT_TRUE の場合にのみ有効です。

vtbl 26 HRESULT get_AutoKeypadTonesMinimumDuration(INT* plDuration)

get_AutoKeypadTonesMinimumDuration メソッドは、AutoKeypadTonesMinimumDuration プロパティの現在の値を取得します。このプロパティは、PBS_DOWN 時にキーパッドトーンを再生する長さを指定します。

plDurationINT*outキーパッドトーンの最小継続時間 (ミリ秒単位)。既定値は 250 ミリ秒です。PBS_UP イベントが発生しないまま最小継続時間が経過した場合、キーパッドトーンは PBS_UP イベントを受信するまで継続します。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

AutoKeypadTonesMinimumDuration プロパティは、AutoKeypadTones プロパティの値が VARIANT_TRUE の場合にのみ機能します。

vtbl 27 HRESULT put_AutoVolumeControl(VARIANT_BOOL fEnabled)

put_AutoVolumeControl メソッドは、この電話の AutoVolumeControl プロパティを設定します。

fEnabledVARIANT_BOOLinVARIANT_TRUE の場合、自動音量制御を有効にします。VARIANT_FALSE の場合、自動音量制御を無効にします。既定値は VARIANT_TRUE です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

AutoVolumeControl プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。AutoVolumeControl プロパティはいつでも設定できます。再構成は、次に音量ボタンが押されたときに有効になります。

vtbl 28 HRESULT get_AutoVolumeControl(VARIANT_BOOL* fEnabled)

get_AutoVolumeControl メソッドは、AutoVolumeControl プロパティの現在の値を取得します。

fEnabledVARIANT_BOOL*outVARIANT_TRUE は自動音量制御が有効であることを示します。VARIANT_FALSE は自動音量制御が無効であることを示します。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

AutoVolumeControl プロパティはいつでも設定できます。再構成は、次に音量ボタンが押されたときに有効になります。

AutoVolumeControl プロパティは、PhoneHandlingEnabled プロパティの値が VARIANT_TRUE の場合にのみ機能します。

vtbl 29 HRESULT put_AutoVolumeControlStep(INT lStepSize)

put_AutoVolumeControlStep メソッドは、AutoVolumeControlStep プロパティを設定します。このプロパティは、音量ボタンが押されたときに電話の音量を調整する量を決定します。

lStepSizeINTin音量制御のステップ (ミリ秒単位)。AutoVolumeControlStep プロパティの既定値は 4096 です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

AutoVolumeControlRepeatDelay プロパティは、AutoKeypadTones プロパティの値が VARIANT_TRUE の場合にのみ有効です。

vtbl 30 HRESULT get_AutoVolumeControlStep(INT* plStepSize)

get_AutoVolumeControlStep メソッドは、AutoVolumeControlStep プロパティの現在の値を取得します。このプロパティは、音量ボタンが押されたときに電話の音量を調整する量を決定します。

plStepSizeINT*out音量制御のステップ。AutoVolumeControlStep プロパティの既定値は 4096 です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

vtbl 31 HRESULT put_AutoVolumeControlRepeatDelay(INT lDelay)

put_AutoVolumeControlRepeatDelay メソッドは、AutoVolumeControlRepeatDelay プロパティを設定します。このプロパティは、音量ボタンを押し続けたときにリピートが始まるまでの遅延を、ミリ秒単位で指定します。

lDelayINTin音量ボタンのリピートが始まるまでの遅延 (ミリ秒単位)。既定値は 500 ミリ秒です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

AutoVolumeControlRepeatDelay プロパティは、AutoKeypadTones プロパティの値が VARIANT_TRUE の場合にのみ有効です。

vtbl 32 HRESULT get_AutoVolumeControlRepeatDelay(INT* plDelay)

get_AutoVolumeControlRepeatDelay メソッドは、AutoVolumeControlRepeatDelay プロパティの現在の値を取得します。このプロパティは、音量ボタンを押し続けたときにリピートが始まるまでの遅延を、ミリ秒単位で指定します。

plDelayINT*out音量リピートの遅延 (ミリ秒単位)。既定値は 500 ミリ秒です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

AutoVolumeControlRepeatDelay プロパティは、AutoKeypadTones プロパティの値が VARIANT_TRUE の場合にのみ有効です。

vtbl 33 HRESULT put_AutoVolumeControlRepeatPeriod(INT lPeriod)

put_AutoVolumeControlRepeatPeriod メソッドは、AutoVolumeControlRepeatPeriod プロパティを設定します。このプロパティは、音量ボタンを押し続けたときのボタンリピートの間隔を、ミリ秒単位で制御します。

lPeriodINTin音量ボタンを押し続けたときのボタンリピートの間隔 (ミリ秒単位)。既定値は 100 ミリ秒です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

AutoVolumeControlRepeatDelay プロパティは、AutoKeypadTones プロパティの値が VARIANT_TRUE の場合にのみ有効です。

vtbl 34 HRESULT get_AutoVolumeControlRepeatPeriod(INT* plPeriod)

get_AutoVolumeControlRepeatPeriod メソッドは、AutoVolumeControlRepeatPeriod プロパティの現在の値を取得します。このプロパティは、音量ボタンを押し続けたときのボタンリピートの間隔を、ミリ秒単位で制御します。

plPeriodINT*out音量ボタンを押し続けたときのボタンリピートの間隔 (ミリ秒単位)。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

AutoVolumeControlRepeatDelay プロパティは、AutoKeypadTones プロパティの値が VARIANT_TRUE の場合にのみ有効です。

vtbl 35 HRESULT SelectCall(ITCallInfo* pCall, VARIANT_BOOL fSelectDefaultTerminals)

SelectCall メソッドは、現在の電話オブジェクトを、pCall パラメーターが指す Call オブジェクトに対して選択します。

pCallITCallInfo*inITCallInfo インターフェイスへのポインター。
fSelectDefaultTerminalsVARIANT_BOOLinVARIANT_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 コール状態で電話に選択されたとき、または電話に選択されているコールが CS_DISCONNECTED コール状態になったとき、電話オブジェクトは次のいずれかのアクションを実行します。
vtbl 36 HRESULT UnselectCall(ITCallInfo* pCall)

UnselectCall メソッドは、指定したコールをこの電話オブジェクトから削除し、コールオブジェクトへの電話オブジェクトの参照を解放します。

pCallITCallInfo*inITCallInfo インターフェイスへのポインター。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

vtbl 37 HRESULT EnumerateSelectedCalls(IEnumCall** ppCallEnum)

EnumerateSelectedCalls メソッドは、この電話で現在選択されているコールを示す列挙子オブジェクトを取得します。詳細については、ITAutomatedPhoneControl::SelectCall を参照してください。

ppCallEnumIEnumCall**outIEnumCall インターフェイスへのポインター。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

解説(Remarks)

TAPI は、このメソッドが返す IEnumCall インターフェイスに対して AddRef メソッドを呼び出します。アプリケーションは、それに関連付けられたリソースを解放するために、IEnumCall インターフェイスに対して Release メソッドを呼び出す必要があります。

vtbl 38 HRESULT get_SelectedCalls(VARIANT* pVariant)

get_SelectedCalls メソッドは、この電話で現在選択されているコールを示すコレクションオブジェクトへのポインターを含む VARIANT を取得します。詳細については、ITAutomatedPhoneControl::SelectCall を参照してください。

pVariantVARIANT*outIEnumCall インターフェイスポインターの ITCollection を含む VARIANT へのポインター。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合はエラー値を返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 不要)。