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

IIsdbSiParser2

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

公式ドキュメント

Integrated Services Digital Broadcast (ISDB) トランスポートストリームから program specific information (PSI) テーブルおよびサービス情報テーブルを取得するメソッドを実装します。

メソッド 7

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

vtbl 19 HRESULT GetSDT(BYTE tableId, WORD* pwTransportStreamId, IISDB_SDT** ppSDT)

Integrated Services Digital Broadcast (ISDB) トランスポートストリームから service description table (SDT) を取得します。SDT は、MPEG-2 トランスポートストリーム内のサービスの名前やその他のパラメーターを列挙します。

tableIdBYTEin取得するテーブルの種類を示すテーブル識別子。SDT の場合、この値は実際のトランスポートストリームでは 0x42、別のストリームでは 0x46 です。
pwTransportStreamIdWORD*inoptionaltransport_stream_id フィールドへのポインター。このフィールド値は、SDT を含むトランスポートストリームを一意に識別します。
ppSDTIISDB_SDT**outIISDB_SDT インターフェイスへのポインターを受け取ります。このインターフェイスを使用してテーブル内の情報を取得します。 呼び出し元はインターフェイスを解放する必要があります。

戻り値

このメソッドが成功すると、S_OK を返します。それ以外の場合は、HRESULT エラーコードを返します。

vtbl 20 HRESULT GetBIT(BYTE tableId, WORD* pwOriginalNetworkId, IISDB_BIT** ppBIT)

Integrated Services Digital Broadcasting (ISDB) トランスポートストリームから broadcaster information table (BIT) を取得します。BIT には、ブロードキャスター単位と、各ブロードキャスター単位のサービス情報伝送パラメーターが含まれます。

tableIdBYTEin取得するテーブルの種類を示すテーブル識別子。BIT の場合、この値は 0xC4 です。
pwOriginalNetworkIdWORD*inoptionalBIT の original_network_id フィールドへのポインター。このフィールドには、MPEG-2 トランスポートストリームを送出するブロードキャスターの識別子が含まれます。
ppBITIISDB_BIT**outIISDB_BIT インターフェイスへのポインターを受け取ります。このインターフェイスを使用してテーブル内の情報を取得します。 呼び出し元はインターフェイスを解放する必要があります。

戻り値

このメソッドが成功すると、S_OK を返します。それ以外の場合は、HRESULT エラーコードを返します。

vtbl 21 HRESULT GetNBIT(BYTE tableId, WORD* pwOriginalNetworkId, IISDB_NBIT** ppNBIT)

Integrated Services Digital Broadcast (ISDB) トランスポートストリームから network board information table (NBIT) を取得します。NBIT は、多重化されたトランスポートストリームに含まれる番組を記述します。

tableIdBYTEin取得するテーブルの種類を示すテーブル識別子。NBIT の場合、テーブルが network board information 本体を含むときはこの値は 0xC5、network board information を取得するための参照情報を含むときは 0xC6 です。
pwOriginalNetworkIdWORD*inoptionalNBIT の original_network_id フィールドへのポインター。このフィールドには、MPEG-2 トランスポートストリームを送出するブロードキャスターの識別子が含まれます。
ppNBITIISDB_NBIT**outIISDB_NBIT インターフェイスへのポインターを受け取ります。このインターフェイスを使用してテーブル内の情報を取得します。 呼び出し元はインターフェイスを解放する必要があります。

戻り値

このメソッドが成功すると、S_OK を返します。それ以外の場合は、HRESULT エラーコードを返します。

vtbl 22 HRESULT GetLDT(BYTE tableId, WORD* pwOriginalServiceId, IISDB_LDT** ppLDT)

Integrated Services Digital Broadcast (ISDB) トランスポートストリームから linked description table (LDT) を取得します。LDT には、他のテーブルから参照情報を収集するために使用されるデータが含まれます。

tableIdBYTEin取得するテーブルの種類を示すテーブル識別子。LDT の場合、この値は 0xC7 です。
pwOriginalServiceIdWORD*inoptionalLDT の original_service_id フィールドへのポインター。このフィールドには、このトランスポートストリームのサービスの識別子が含まれます。
ppLDTIISDB_LDT**outIISDB_LDT インターフェイスへのポインターを受け取ります。このインターフェイスを使用してテーブル内の情報を取得します。 呼び出し元はインターフェイスを解放する必要があります。

戻り値

このメソッドが成功すると、S_OK を返します。それ以外の場合は、HRESULT エラーコードを返します。

vtbl 23 HRESULT GetSDTT(BYTE tableId, WORD* pwTableIdExt, IISDB_SDTT** ppSDTT)

Integrated Services Digital Broadcast (ISDB) トランスポートストリームから software download trigger table (SDTT) を取得します。SDTT には、サービス識別子、スケジュール、更新対象の受信機種別などのダウンロード情報が含まれます。

tableIdBYTEin取得するテーブルの種類を示すテーブル識別子。SDTT の場合、この値は 0xC34 です。
pwTableIdExtWORD*inoptionalSDTT の table_id_extension フィールドの値。このフィールド値は、SDTT の特定のインスタンスを識別します。
ppSDTTIISDB_SDTT**outIISDB_SDTT インターフェイスへのポインターを受け取ります。このインターフェイスを使用してテーブル内の情報を取得します。 呼び出し元はインターフェイスを解放する必要があります。

戻り値

このメソッドが成功すると、S_OK を返します。それ以外の場合は、HRESULT エラーコードを返します。

vtbl 24 HRESULT GetCDT(BYTE tableId, BYTE bSectionNumber, WORD* pwDownloadDataId, IISDB_CDT** ppCDT)

Integrated Services Digital Broadcasting (ISDB) トランスポートストリームから common data table (CDT) を取得します。CDT には、受信機に必要で不揮発性メモリに保存されるデータ(企業ロゴなど)が含まれます。

tableIdBYTEin取得するテーブルの種類を示すテーブル識別子。CDT の場合、この値は 0xC8 です。
bSectionNumberBYTEinCDT の section_number フィールドの値を指定します。
pwDownloadDataIdWORD*inoptionalCDT の download_data_id フィールド値へのポインター。
ppCDTIISDB_CDT**outIISDB_CDT インターフェイスへのポインターを受け取ります。このインターフェイスを使用してテーブル内の情報を取得します。 呼び出し元はインターフェイスを解放する必要があります。

戻り値

このメソッドが成功すると、S_OK を返します。それ以外の場合は、HRESULT エラーコードを返します。

vtbl 25 HRESULT GetEMM(WORD pid, WORD wTableIdExt, IISDB_EMM** ppEMM)

Integrated Services Digital Broadcast (ISDB) トランスポートストリームから entitlement management message (EMM) テーブルを取得します。

pidWORDinEMM を伝送するトランスポートストリームパケットの packet identifier (PID) を指定します。
wTableIdExtWORDinEMM の table_id フィールドの値。このフィールド値は、EMM 内のサブテーブルを識別します。
ppEMMIISDB_EMM**outIISDB_EMM インターフェイスへのポインターを受け取ります。このインターフェイスを使用してテーブル内の情報を取得します。 呼び出し元はインターフェイスを解放する必要があります。

戻り値

このメソッドが成功すると、S_OK を返します。それ以外の場合は、HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

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 指定が可能。