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

IIsdbSiParser2

COM
IID900e4bb7-18cd-453f-98be-3be6aa211772継承元IDvbSiParser2自前メソッド開始 vtbl19

メソッド 7

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

vtbl 19 HRESULT GetSDT(BYTE tableId, WORD* pwTransportStreamId, IISDB_SDT** ppSDT)
tableIdBYTEin取得対象のISDB-SDTのテーブルID。自TSか他TSかを区別する。
pwTransportStreamIdWORD*inoptional対象トランスポートストリームIDを入出力するポインタ。NULL可。
ppSDTIISDB_SDT**out取得したISDB版SDTを表すIISDB_SDTを受け取る出力ポインタ。
vtbl 20 HRESULT GetBIT(BYTE tableId, WORD* pwOriginalNetworkId, IISDB_BIT** ppBIT)
tableIdBYTEin取得対象のBITのテーブルIDを指定する。
pwOriginalNetworkIdWORD*inoptional対象の元ネットワークIDを入出力するポインタ。NULL可。
ppBITIISDB_BIT**out取得したBIT(放送局情報表)を表すIISDB_BITを受け取る出力ポインタ。
vtbl 21 HRESULT GetNBIT(BYTE tableId, WORD* pwOriginalNetworkId, IISDB_NBIT** ppNBIT)
tableIdBYTEin取得対象のNBITのテーブルID。本体かメッセージかを区別する。
pwOriginalNetworkIdWORD*inoptional対象の元ネットワークIDを入出力するポインタ。NULL可。
ppNBITIISDB_NBIT**out取得したNBIT(ネットワーク群情報表)を表すIISDB_NBITを受け取る出力ポインタ。
vtbl 22 HRESULT GetLDT(BYTE tableId, WORD* pwOriginalServiceId, IISDB_LDT** ppLDT)
tableIdBYTEin取得対象のLDTのテーブルIDを指定する。
pwOriginalServiceIdWORD*inoptional対象の元サービスIDを入出力するポインタ。NULL可。
ppLDTIISDB_LDT**out取得したLDT(リンク記述表)を表すIISDB_LDTを受け取る出力ポインタ。
vtbl 23 HRESULT GetSDTT(BYTE tableId, WORD* pwTableIdExt, IISDB_SDTT** ppSDTT)
tableIdBYTEin取得対象のSDTTのテーブルIDを指定する。
pwTableIdExtWORD*inoptionalテーブルID拡張(maker_id等)を入出力するポインタ。NULL可。
ppSDTTIISDB_SDTT**out取得したSDTT(ソフトウェアダウンロード起動表)を表すIISDB_SDTTを受け取る出力ポインタ。
vtbl 24 HRESULT GetCDT(BYTE tableId, BYTE bSectionNumber, WORD* pwDownloadDataId, IISDB_CDT** ppCDT)
tableIdBYTEin取得対象のCDTのテーブルIDを指定する。
bSectionNumberBYTEin取得対象のセクション番号を指定する。
pwDownloadDataIdWORD*inoptional対象のダウンロードデータIDを入出力するポインタ。NULL可。
ppCDTIISDB_CDT**out取得したCDT(共通データ表)を表すIISDB_CDTを受け取る出力ポインタ。
vtbl 25 HRESULT GetEMM(WORD pid, WORD wTableIdExt, IISDB_EMM** ppEMM)
pidWORDinEMMが格納されているトランスポートストリームのパケットID(PID)を指定する。
wTableIdExtWORDinテーブルID拡張を指定する。
ppEMMIISDB_EMM**out取得したEMM(個別情報メッセージ)を表すIISDB_EMMを受け取る出力ポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IIsdbSiParser2 "{900E4BB7-18CD-453F-98BE-3BE6AA211772}"
#usecom global IIsdbSiParser2 IID_IIsdbSiParser2 "{}"
#comfunc global IIsdbSiParser2_GetSDT   19 int,var,sptr
#comfunc global IIsdbSiParser2_GetBIT   20 int,var,sptr
#comfunc global IIsdbSiParser2_GetNBIT  21 int,var,sptr
#comfunc global IIsdbSiParser2_GetLDT   22 int,var,sptr
#comfunc global IIsdbSiParser2_GetSDTT  23 int,var,sptr
#comfunc global IIsdbSiParser2_GetCDT   24 int,int,var,sptr
#comfunc global IIsdbSiParser2_GetEMM   25 int,int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。