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

IAtscPsipParser

COM
IIDb2c98995-5eb2-4fb1-b406-f3e8e2026a9a継承元IUnknown自前メソッド開始 vtbl3

メソッド 11

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

vtbl 3 HRESULT Initialize(IUnknown* punkMpeg2Data)
punkMpeg2DataIUnknown*inoptionalデータ取得元となるIMpeg2DataのIUnknownへのポインタ。
vtbl 4 HRESULT GetPAT(IPAT** ppPAT)
ppPATIPAT**out解析したPATインターフェイスを受け取るポインタ。
vtbl 5 HRESULT GetCAT(DWORD dwTimeout, ICAT** ppCAT)
dwTimeoutDWORDinCAT取得待機のタイムアウトをミリ秒単位で指定する。
ppCATICAT**out解析したCATインターフェイスを受け取るポインタ。
vtbl 6 HRESULT GetPMT(WORD pid, WORD* pwProgramNumber, IPMT** ppPMT)
pidWORDinPMTを伝送するパケットのPIDを指定する。
pwProgramNumberWORD*in対象プログラム番号を受け渡すWORDポインタ。
ppPMTIPMT**out解析したPMTインターフェイスを受け取るポインタ。
vtbl 7 HRESULT GetTSDT(ITSDT** ppTSDT)
ppTSDTITSDT**out解析したTSDTインターフェイスを受け取るポインタ。
vtbl 8 HRESULT GetMGT(IATSC_MGT** ppMGT)
ppMGTIATSC_MGT**out解析したATSCマスタガイドテーブルIATSC_MGTを受け取るポインタ。
vtbl 9 HRESULT GetVCT(BYTE tableId, BOOL fGetNextTable, IATSC_VCT** ppVCT)
tableIdBYTEin取得対象のVCT種別を示すテーブル識別子を指定する。
fGetNextTableBOOLin次バージョンのテーブルを取得するかどうかを示すBOOL。
ppVCTIATSC_VCT**out解析した仮想チャンネルテーブルIATSC_VCTを受け取るポインタ。
vtbl 10 HRESULT GetEIT(WORD pid, WORD* pwSourceId, DWORD dwTimeout, IATSC_EIT** ppEIT)
pidWORDinEITを伝送するパケットのPIDを指定する。
pwSourceIdWORD*in対象ソースIDを受け渡すWORDポインタ。
dwTimeoutDWORDinEIT取得待機のタイムアウトをミリ秒単位で指定する。
ppEITIATSC_EIT**out解析したイベント情報テーブルIATSC_EITを受け取るポインタ。
vtbl 11 HRESULT GetETT(WORD pid, WORD* wSourceId, WORD* pwEventId, IATSC_ETT** ppETT)
pidWORDinETTを伝送するパケットのPIDを指定する。
wSourceIdWORD*in対象ソースIDを指定する。
pwEventIdWORD*in対象イベントIDを受け渡すWORDポインタ。
ppETTIATSC_ETT**out解析した拡張テキストテーブルIATSC_ETTを受け取るポインタ。
vtbl 12 HRESULT GetSTT(IATSC_STT** ppSTT)
ppSTTIATSC_STT**out解析したシステム時刻テーブルIATSC_STTを受け取るポインタ。
vtbl 13 HRESULT GetEAS(WORD pid, ISCTE_EAS** ppEAS)
pidWORDinEASを伝送するパケットのPIDを指定する。
ppEASISCTE_EAS**out解析した緊急警報テーブルISCTE_EASを受け取るポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IAtscPsipParser "{B2C98995-5EB2-4FB1-B406-F3E8E2026A9A}"
#usecom global IAtscPsipParser IID_IAtscPsipParser "{}"
#comfunc global IAtscPsipParser_Initialize  3 sptr
#comfunc global IAtscPsipParser_GetPAT      4 sptr
#comfunc global IAtscPsipParser_GetCAT      5 int,sptr
#comfunc global IAtscPsipParser_GetPMT      6 int,var,sptr
#comfunc global IAtscPsipParser_GetTSDT     7 sptr
#comfunc global IAtscPsipParser_GetMGT      8 sptr
#comfunc global IAtscPsipParser_GetVCT      9 int,int,sptr
#comfunc global IAtscPsipParser_GetEIT      10 int,var,int,sptr
#comfunc global IAtscPsipParser_GetETT      11 int,var,var,sptr
#comfunc global IAtscPsipParser_GetSTT      12 sptr
#comfunc global IAtscPsipParser_GetEAS      13 int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。