ホーム › Media.DirectShow.Tv › IMpeg2Stream
IMpeg2Stream
COMメソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT Initialize(MPEG_REQUEST_TYPE requestType, IMpeg2Data* pMpeg2Data, MPEG_CONTEXT* pContext, WORD pid, BYTE tid, MPEG2_FILTER* pFilter, HANDLE hDataReadyEvent)
| requestType | MPEG_REQUEST_TYPE | in | 取得方法を示すMPEG_REQUEST_TYPE列挙値。 |
| pMpeg2Data | IMpeg2Data* | in | データ取得元のIMpeg2Dataインターフェイスへのポインタ。 |
| pContext | MPEG_CONTEXT* | in | 取得処理のコンテキストを示すMPEG_CONTEXTへのポインタ。 |
| pid | WORD | in | 取得対象のパケット識別子(PID)を指定する。 |
| tid | BYTE | in | 取得対象のテーブル識別子(TID)を指定する。 |
| pFilter | MPEG2_FILTER* | in | セクションを絞り込むMPEG2_FILTER構造体へのポインタ。NULL可。 |
| hDataReadyEvent | HANDLE | in | データ到着を通知するイベントオブジェクトのハンドル。 |
vtbl 4 HRESULT SupplyDataBuffer(MPEG_STREAM_BUFFER* pStreamBuffer)
| pStreamBuffer | MPEG_STREAM_BUFFER* | in | 受信データを格納するMPEG_STREAM_BUFFER構造体へのポインタ。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IMpeg2Stream "{400CC286-32A0-4CE4-9041-39571125A635}" #usecom global IMpeg2Stream IID_IMpeg2Stream "{F91D96C7-8509-4D0B-AB26-A0DD10904BB7}" #comfunc global IMpeg2Stream_Initialize 3 int,sptr,var,int,int,var,sptr #comfunc global IMpeg2Stream_SupplyDataBuffer 4 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IMpeg2Stream "{400CC286-32A0-4CE4-9041-39571125A635}" #usecom global IMpeg2Stream IID_IMpeg2Stream "{F91D96C7-8509-4D0B-AB26-A0DD10904BB7}" #comfunc global IMpeg2Stream_Initialize 3 int,sptr,sptr,int,int,sptr,sptr #comfunc global IMpeg2Stream_SupplyDataBuffer 4 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。