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

IDVB_RST

COM
IIDf47dcd04-1e23-4fb7-9f96-b40eead10b2b継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。

メソッド 7

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

vtbl 3 HRESULT Initialize(ISectionList* pSectionList)

このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。

pSectionListISectionList*inセクションデータを含む SectionList オブジェクトの ISectionList インターフェースへのポインター。

戻り値

このメソッドは HRESULT を返します。取り得る値には次の表に示すものが含まれます。

リターンコード 説明
E_INVALIDARG
引数が無効です。
E_POINTER
NULL ポインター引数です。
MPEG2_E_ALREADY_INITIALIZED
オブジェクトはすでに初期化されています。
S_OK
メソッドは成功しました。
vtbl 4 HRESULT GetCountOfRecords(DWORD* pdwVal)

このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。

pdwValDWORD*outレコード数を受け取る変数へのポインター。

戻り値

このメソッドは HRESULT を返します。取り得る値には次の表に示すものが含まれます。

リターンコード 説明
E_POINTER
NULL ポインター引数です。
S_OK
メソッドは成功しました。
vtbl 5 HRESULT GetRecordTransportStreamId(DWORD dwRecordIndex, WORD* pwVal)

このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。

dwRecordIndexDWORDinレコード番号を指定します(0 から始まるインデックス)。RST 内のレコード数を取得するには IDVB_RST::GetCountOfRecords メソッドを呼び出します。
pwValWORD*outtransport_stream_id フィールドを受け取る変数へのポインター。この値は、多重化(multiplex)内の他のトランスポートストリームからこのトランスポートストリームを識別します。

戻り値

このメソッドは HRESULT を返します。取り得る値には次の表に示すものが含まれます。

リターンコード 説明
E_POINTER
NULL ポインター引数です。
MPEG2_E_OUT_OF_BOUNDS
インデックスが範囲外です。
S_OK
メソッドは成功しました。
vtbl 6 HRESULT GetRecordOriginalNetworkId(DWORD dwRecordIndex, WORD* pwVal)

このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。

dwRecordIndexDWORDinレコード番号を指定します(0 から始まるインデックス)。RST 内のレコード数を取得するには IDVB_RST::GetCountOfRecords メソッドを呼び出します。
pwValWORD*outoriginal_network_id フィールドを受け取る変数へのポインター。この値は、送出元の配信システムの network_id を識別します。

戻り値

このメソッドは HRESULT を返します。取り得る値には次の表に示すものが含まれます。

リターンコード 説明
E_POINTER
NULL ポインター引数です。
MPEG2_E_OUT_OF_BOUNDS
インデックスが範囲外です。
S_OK
メソッドは成功しました。
vtbl 7 HRESULT GetRecordServiceId(DWORD dwRecordIndex, WORD* pwVal)

このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。

dwRecordIndexDWORDinレコード番号を指定します(0 から始まるインデックス)。RST 内のレコード数を取得するには IDVB_RST::GetCountOfRecords メソッドを呼び出します。
pwValWORD*outservice_id フィールドを受け取る変数へのポインター。この値は、トランスポートストリームで伝送される他のサービスとこのサービスを区別します。

戻り値

このメソッドは HRESULT を返します。取り得る値には次の表に示すものが含まれます。

リターンコード 説明
E_POINTER
NULL ポインター引数です。
MPEG2_E_OUT_OF_BOUNDS
インデックスが範囲外です。
S_OK
メソッドは成功しました。
vtbl 8 HRESULT GetRecordEventId(DWORD dwRecordIndex, WORD* pwVal)

このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。

dwRecordIndexDWORDinレコード番号を指定します(0 から始まるインデックス)。RST 内のレコード数を取得するには IDVB_RST::GetCountOfRecords メソッドを呼び出します。
pwValWORD*outevent_id フィールドを受け取る変数へのポインター。

戻り値

このメソッドは HRESULT を返します。取り得る値には次の表に示すものが含まれます。

リターンコード 説明
E_POINTER
NULL ポインター引数です。
MPEG2_E_OUT_OF_BOUNDS
インデックスが範囲外です。
S_OK
メソッドは成功しました。
vtbl 9 HRESULT GetRecordRunningStatus(DWORD dwRecordIndex, BYTE* pbVal)

このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。

dwRecordIndexDWORDinレコード番号を指定します(0 から始まるインデックス)。RST 内のレコード数を取得するには IDVB_RST::GetCountOfRecords メソッドを呼び出します。
pbValBYTE*outrunning_status フィールドを受け取る変数へのポインター。

戻り値

このメソッドは HRESULT を返します。取り得る値には次の表に示すものが含まれます。

リターンコード 説明
E_POINTER
NULL ポインター引数です。
MPEG2_E_OUT_OF_BOUNDS
インデックスが範囲外です。
S_OK
メソッドは成功しました。

解説(Remarks)

ETSI EN 300 468 では、running_status フィールドに対して次の値が定義されています。

説明
0 未定義。
1 実行されていません。
2 数秒後に開始します。
3 一時停止中。
4 実行中。
5 to 7 予約済み。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IDVB_RST "{F47DCD04-1E23-4FB7-9F96-B40EEAD10B2B}"
#usecom global IDVB_RST IID_IDVB_RST "{}"
#comfunc global IDVB_RST_Initialize                  3 sptr
#comfunc global IDVB_RST_GetCountOfRecords           4 var
#comfunc global IDVB_RST_GetRecordTransportStreamId  5 int,var
#comfunc global IDVB_RST_GetRecordOriginalNetworkId  6 int,var
#comfunc global IDVB_RST_GetRecordServiceId          7 int,var
#comfunc global IDVB_RST_GetRecordEventId            8 int,var
#comfunc global IDVB_RST_GetRecordRunningStatus      9 int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。