Win32 API 日本語リファレンス
ホームMedia.DirectShow.Tv › IMpeg2Stream

IMpeg2Stream

COM
IID400cc286-32a0-4ce4-9041-39571125a635継承元IUnknown自前メソッド開始 vtbl3

メソッド 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)
requestTypeMPEG_REQUEST_TYPEin取得方法を示すMPEG_REQUEST_TYPE列挙値。
pMpeg2DataIMpeg2Data*inデータ取得元のIMpeg2Dataインターフェイスへのポインタ。
pContextMPEG_CONTEXT*in取得処理のコンテキストを示すMPEG_CONTEXTへのポインタ。
pidWORDin取得対象のパケット識別子(PID)を指定する。
tidBYTEin取得対象のテーブル識別子(TID)を指定する。
pFilterMPEG2_FILTER*inセクションを絞り込むMPEG2_FILTER構造体へのポインタ。NULL可。
hDataReadyEventHANDLEinデータ到着を通知するイベントオブジェクトのハンドル。
vtbl 4 HRESULT SupplyDataBuffer(MPEG_STREAM_BUFFER* pStreamBuffer)
pStreamBufferMPEG_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 指定が可能。