ITForwardInformation
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
ITForwardInformation インターフェイスは、通話の転送を設定および実装するためのメソッドを提供します。
メソッド 7
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
put_NumRingsNoAnswer メソッドは、応答なしの状態と見なすまでの呼び出し音の回数を設定します。
| lNumRings | INT | in | 呼び出し音の回数。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 |
get_NumRingsNoAnswer メソッドは、応答なしの状態と見なすまでの呼び出し音の回数を取得します。
| plNumRings | INT* | out | 呼び出し音の回数へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| plNumRings パラメーターが有効なポインターではありません。 |
SetForwardType メソッドは、発信者アドレスによって転送モードと転送先を設定します。
| ForwardType | INT | in | 回線転送モード。 |
| pDestAddress | LPWSTR | in | 転送先アドレスの BSTR 表現へのポインター。 |
| pCallerAddress | LPWSTR | in | 発信者アドレスの BSTR 表現へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| pDestAddress または pCallerAddress パラメーターが有効なポインターではありません。 | |
| ForwardType パラメーターが有効ではありません。 | |
| 操作を実行するのに十分なメモリがありません。 |
解説(Remarks)
アプリケーションは、pDestAddress および pCallerAddress パラメーターのメモリを割り当てるために SysAllocString を使用する必要があります。変数が不要になったら、アプリケーションは SysFreeString を使用してメモリを解放する必要があります。
get_ForwardTypeDestination メソッドは、転送モードに対する転送先を取得します。
| ForwardType | INT | in | 回線転送モード。 |
| ppDestAddress | LPWSTR* | out | 転送先アドレスの BSTR 表現へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| ppDestAddress パラメーターが有効なポインターではありません。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| ppDestAddress パラメーターが有効なポインターではありません。 |
解説(Remarks)
アプリケーションは、ppDestAddress パラメーターに割り当てられたメモリを解放するために SysFreeString を使用する必要があります。
get_ForwardTypeCaller メソッドは、指定した転送モードに対する発信者の種類を取得します。
| Forwardtype | INT | in | 回線転送モード。 |
| ppCallerAddress | LPWSTR* | out | 発信者アドレスの BSTR 表現へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| ppCallerAddress パラメーターが有効なポインターではありません。 | |
| Forwardtype パラメーターが有効ではありません。 | |
| 操作を実行するのに十分なメモリがありません。 |
解説(Remarks)
アプリケーションは、ppCallerAddress パラメーターに割り当てられたメモリを解放するために SysFreeString を使用する必要があります。
GetForwardType メソッドは、転送モードを取得します。
| ForwardType | INT | in | 回線転送モード。 |
| ppDestinationAddress | LPWSTR* | out | 転送先アドレスの BSTR 表現へのポインター。 |
| ppCallerAddress | LPWSTR* | out | 通話の発信元アドレスの BSTR 表現へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| ppDestAddress または ppCallerAddress パラメーターが有効なポインターではありません。 | |
| 操作を実行するのに十分なメモリがありません。 |
解説(Remarks)
アプリケーションは、ppDestinationAddress および ppCallerAddress パラメーターに割り当てられたメモリを解放するために SysFreeString を使用する必要があります。
Clear メソッドは、このオブジェクト内のすべての転送情報をクリアします。
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 |
解説(Remarks)
このメソッドは、サービスプロバイダー内の転送情報はクリアしません。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ITForwardInformation "{449F659E-88A3-11D1-BB5D-00C04FB6809F}" #usecom global ITForwardInformation IID_ITForwardInformation "{}" #comfunc global ITForwardInformation_put_NumRingsNoAnswer 7 int #comfunc global ITForwardInformation_get_NumRingsNoAnswer 8 var #comfunc global ITForwardInformation_SetForwardType 9 int,wstr,wstr #comfunc global ITForwardInformation_get_ForwardTypeDestination 10 int,var #comfunc global ITForwardInformation_get_ForwardTypeCaller 11 int,var #comfunc global ITForwardInformation_GetForwardType 12 int,var,var #comfunc global ITForwardInformation_Clear 13 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_ITForwardInformation "{449F659E-88A3-11D1-BB5D-00C04FB6809F}" #usecom global ITForwardInformation IID_ITForwardInformation "{}" #comfunc global ITForwardInformation_put_NumRingsNoAnswer 7 int #comfunc global ITForwardInformation_get_NumRingsNoAnswer 8 sptr #comfunc global ITForwardInformation_SetForwardType 9 int,wstr,wstr #comfunc global ITForwardInformation_get_ForwardTypeDestination 10 int,sptr #comfunc global ITForwardInformation_get_ForwardTypeCaller 11 int,sptr #comfunc global ITForwardInformation_GetForwardType 12 int,sptr,sptr #comfunc global ITForwardInformation_Clear 13 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。