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

ITAddress

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDb1efc386-9355-11d0-835c-00aa003ccabd継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 15

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

vtbl 7 HRESULT get_State(ADDRESS_STATE* pAddressState)
pAddressStateADDRESS_STATE*outアドレス(回線)の現在状態を示すADDRESS_STATEを受け取る出力先。
vtbl 8 HRESULT get_AddressName(LPWSTR* ppName)
ppNameLPWSTR*outアドレスの表示名を受け取る出力先。SysFreeStringで解放する。
vtbl 9 HRESULT get_ServiceProviderName(LPWSTR* ppName)
ppNameLPWSTR*outこのアドレスを提供するサービスプロバイダー名を受け取る出力先。
vtbl 10 HRESULT get_TAPIObject(ITTAPI** ppTapiObject)
ppTapiObjectITTAPI**outこのアドレスを所有する親のITTAPIオブジェクトを受け取る出力先。
vtbl 11 HRESULT CreateCall(LPWSTR pDestAddress, INT lAddressType, INT lMediaTypes, ITBasicCallControl** ppCall)
pDestAddressLPWSTRin発信先の宛先アドレス(電話番号等)を示す文字列。NULL可。
lAddressTypeINTin宛先アドレスの種別(LINEADDRESSTYPE)を示す値。
lMediaTypesINTin通話で使用するメディア種別を示すビットマスク。
ppCallITBasicCallControl**out生成された通話を制御するITBasicCallControlを受け取る出力先。
vtbl 12 HRESULT get_Calls(VARIANT* pVariant)
pVariantVARIANT*outこのアドレス上の通話のコレクションをVARIANTとして受け取る出力先。
vtbl 13 HRESULT EnumerateCalls(IEnumCall** ppCallEnum)
ppCallEnumIEnumCall**out通話を列挙するIEnumCall列挙子を受け取る出力先。
vtbl 14 HRESULT get_DialableAddress(LPWSTR* pDialableAddress)
pDialableAddressLPWSTR*out発信に使用可能な形式のアドレス文字列を受け取る出力先。
vtbl 15 HRESULT CreateForwardInfoObject(ITForwardInformation** ppForwardInfo)
ppForwardInfoITForwardInformation**out新規作成された転送設定用ITForwardInformationを受け取る出力先。
vtbl 16 HRESULT Forward(ITForwardInformation* pForwardInfo, ITBasicCallControl* pCall)
pForwardInfoITForwardInformation*in適用する転送設定を保持するITForwardInformation。NULLで転送解除。
pCallITBasicCallControl*in特定通話に対する転送の場合の対象通話ITBasicCallControl。NULL可。
vtbl 17 HRESULT get_CurrentForwardInfo(ITForwardInformation** ppForwardInfo)
ppForwardInfoITForwardInformation**out現在有効な転送設定を保持するITForwardInformationを受け取る出力先。
vtbl 18 HRESULT put_MessageWaiting(VARIANT_BOOL fMessageWaiting)
fMessageWaitingVARIANT_BOOLinVARIANT_TRUEでメッセージ待ち表示(留守電あり)を設定する真偽値。
vtbl 19 HRESULT get_MessageWaiting(VARIANT_BOOL* pfMessageWaiting)
pfMessageWaitingVARIANT_BOOL*outメッセージ待ち状態であればVARIANT_TRUEを受け取る出力先。
vtbl 20 HRESULT put_DoNotDisturb(VARIANT_BOOL fDoNotDisturb)
fDoNotDisturbVARIANT_BOOLinVARIANT_TRUEで応答拒否(取り込み中)状態を設定する真偽値。
vtbl 21 HRESULT get_DoNotDisturb(VARIANT_BOOL* pfDoNotDisturb)
pfDoNotDisturbVARIANT_BOOL*out応答拒否状態であればVARIANT_TRUEを受け取る出力先。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ITAddress "{B1EFC386-9355-11D0-835C-00AA003CCABD}"
#usecom global ITAddress IID_ITAddress "{}"
#comfunc global ITAddress_get_State                7 var
#comfunc global ITAddress_get_AddressName          8 var
#comfunc global ITAddress_get_ServiceProviderName  9 var
#comfunc global ITAddress_get_TAPIObject           10 sptr
#comfunc global ITAddress_CreateCall               11 wstr,int,int,sptr
#comfunc global ITAddress_get_Calls                12 var
#comfunc global ITAddress_EnumerateCalls           13 sptr
#comfunc global ITAddress_get_DialableAddress      14 var
#comfunc global ITAddress_CreateForwardInfoObject  15 sptr
#comfunc global ITAddress_Forward                  16 sptr,sptr
#comfunc global ITAddress_get_CurrentForwardInfo   17 sptr
#comfunc global ITAddress_put_MessageWaiting       18 int
#comfunc global ITAddress_get_MessageWaiting       19 var
#comfunc global ITAddress_put_DoNotDisturb         20 int
#comfunc global ITAddress_get_DoNotDisturb         21 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。