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

ITMSPAddress

COM
IIDee3bd600-3868-11d2-a045-00c04fb6809f継承元IUnknown自前メソッド開始 vtbl3

メソッド 6

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT Initialize(INT* hEvent)
hEventINT*inTAPIへイベント通知に使用するイベントハンドルを渡すポインタ(INT*としてHANDLEを表す)。
vtbl 4 HRESULT Shutdown()
vtbl 5 HRESULT CreateMSPCall(INT* hCall, DWORD dwReserved, DWORD dwMediaType, IUnknown* pOuterUnknown, IUnknown** ppStreamControl)
hCallINT*in対象通話を識別するコールハンドルへのポインタ(INT*としてMSP_HANDLEを表す)。
dwReservedDWORDin予約済みパラメータ。通常は0を指定する。
dwMediaTypeDWORDin通話で扱うメディア種別(TAPIMEDIATYPE_*)を指定するDWORD値。
pOuterUnknownIUnknown*inoptionalアグリゲーション用の外部IUnknownポインタ。集約しない場合はNULL可。
ppStreamControlIUnknown**out生成されたMSP通話のストリーム制御IUnknownを受け取る出力先。
vtbl 6 HRESULT ShutdownMSPCall(IUnknown* pStreamControl)
pStreamControlIUnknown*inoptional終了する対象MSP通話のストリーム制御IUnknownポインタ。
vtbl 7 HRESULT ReceiveTSPData(IUnknown* pMSPCall, BYTE* pBuffer, DWORD dwSize)
pMSPCallIUnknown*inoptionalデータの宛先となるMSP通話オブジェクトを指すIUnknownポインタ。
pBufferBYTE*inTSPから受信したデータを格納したバイトバッファへのポインタ。
dwSizeDWORDinpBufferに格納されたデータのサイズをバイト単位で指定するDWORD値。
vtbl 8 HRESULT GetEvent(DWORD* pdwSize, BYTE* pEventBuffer)
pdwSizeDWORD*inout入力時はpEventBufferのサイズ、出力時は実際のイベントデータサイズ(バイト)を受け渡すポインタ。
pEventBufferBYTE*inoutイベントデータを書き込む出力バッファへのポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_ITMSPAddress "{EE3BD600-3868-11D2-A045-00C04FB6809F}"
#usecom global ITMSPAddress IID_ITMSPAddress "{}"
#comfunc global ITMSPAddress_Initialize       3 var
#comfunc global ITMSPAddress_Shutdown         4
#comfunc global ITMSPAddress_CreateMSPCall    5 var,int,int,sptr,sptr
#comfunc global ITMSPAddress_ShutdownMSPCall  6 sptr
#comfunc global ITMSPAddress_ReceiveTSPData   7 sptr,var,int
#comfunc global ITMSPAddress_GetEvent         8 var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。