ホーム › Media.DirectShow.Tv › IIsdbSiParser2
IIsdbSiParser2
COMメソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| tableId | BYTE | in | 取得対象のISDB-SDTのテーブルID。自TSか他TSかを区別する。 |
| pwTransportStreamId | WORD* | inoptional | 対象トランスポートストリームIDを入出力するポインタ。NULL可。 |
| ppSDT | IISDB_SDT** | out | 取得したISDB版SDTを表すIISDB_SDTを受け取る出力ポインタ。 |
| tableId | BYTE | in | 取得対象のBITのテーブルIDを指定する。 |
| pwOriginalNetworkId | WORD* | inoptional | 対象の元ネットワークIDを入出力するポインタ。NULL可。 |
| ppBIT | IISDB_BIT** | out | 取得したBIT(放送局情報表)を表すIISDB_BITを受け取る出力ポインタ。 |
vtbl 21 HRESULT GetNBIT(BYTE tableId, WORD* pwOriginalNetworkId, IISDB_NBIT** ppNBIT)
| tableId | BYTE | in | 取得対象のNBITのテーブルID。本体かメッセージかを区別する。 |
| pwOriginalNetworkId | WORD* | inoptional | 対象の元ネットワークIDを入出力するポインタ。NULL可。 |
| ppNBIT | IISDB_NBIT** | out | 取得したNBIT(ネットワーク群情報表)を表すIISDB_NBITを受け取る出力ポインタ。 |
| tableId | BYTE | in | 取得対象のLDTのテーブルIDを指定する。 |
| pwOriginalServiceId | WORD* | inoptional | 対象の元サービスIDを入出力するポインタ。NULL可。 |
| ppLDT | IISDB_LDT** | out | 取得したLDT(リンク記述表)を表すIISDB_LDTを受け取る出力ポインタ。 |
vtbl 23 HRESULT GetSDTT(BYTE tableId, WORD* pwTableIdExt, IISDB_SDTT** ppSDTT)
| tableId | BYTE | in | 取得対象のSDTTのテーブルIDを指定する。 |
| pwTableIdExt | WORD* | inoptional | テーブルID拡張(maker_id等)を入出力するポインタ。NULL可。 |
| ppSDTT | IISDB_SDTT** | out | 取得したSDTT(ソフトウェアダウンロード起動表)を表すIISDB_SDTTを受け取る出力ポインタ。 |
vtbl 24 HRESULT GetCDT(BYTE tableId, BYTE bSectionNumber, WORD* pwDownloadDataId, IISDB_CDT** ppCDT)
| tableId | BYTE | in | 取得対象のCDTのテーブルIDを指定する。 |
| bSectionNumber | BYTE | in | 取得対象のセクション番号を指定する。 |
| pwDownloadDataId | WORD* | inoptional | 対象のダウンロードデータIDを入出力するポインタ。NULL可。 |
| ppCDT | IISDB_CDT** | out | 取得したCDT(共通データ表)を表すIISDB_CDTを受け取る出力ポインタ。 |
| pid | WORD | in | EMMが格納されているトランスポートストリームのパケットID(PID)を指定する。 |
| wTableIdExt | WORD | in | テーブルID拡張を指定する。 |
| ppEMM | IISDB_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 指定が可能。#define global IID_IIsdbSiParser2 "{900E4BB7-18CD-453F-98BE-3BE6AA211772}" #usecom global IIsdbSiParser2 IID_IIsdbSiParser2 "{}" #comfunc global IIsdbSiParser2_GetSDT 19 int,sptr,sptr #comfunc global IIsdbSiParser2_GetBIT 20 int,sptr,sptr #comfunc global IIsdbSiParser2_GetNBIT 21 int,sptr,sptr #comfunc global IIsdbSiParser2_GetLDT 22 int,sptr,sptr #comfunc global IIsdbSiParser2_GetSDTT 23 int,sptr,sptr #comfunc global IIsdbSiParser2_GetCDT 24 int,int,sptr,sptr #comfunc global IIsdbSiParser2_GetEMM 25 int,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。