IDvbTeletextDescriptor
COM公式ドキュメント
Digital Video Broadcast (DVB) の teletext 記述子からデータを取得するメソッドを実装します。teletext 記述子は、DVB のプログラムマップテーブル (PMT) の一部であり、European Broadcasting Union (EBU) の teletext ストリームを識別します。
メソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
Digital Video Broadcast (DVB) の teletext 記述子を識別するタグを取得します。
| pbVal | BYTE* | out | teletext 記述子のタグを取得します。teletext 記述子の場合、この値は 0x56 です。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Digital Video Broadcast (DVB) の teletext 記述子のボディ長を取得します。
| pbVal | BYTE* | out | teletext 記述子の長さをバイト単位で受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Digital Video Broadcast (DVB) の teletext 記述子内のサービスレコード数を取得します。
| pbVal | BYTE* | out | teletext 記述子内のレコード数を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Digital Video Broadcast (DVB) の teletext 記述子から 3 文字の ISO 639 言語コードを取得します。
| bRecordIndex | BYTE | in | 返す記述子の 0 から始まるインデックス。記述子の数を取得するには、 IDvbTeletextDescriptor::GetCountOfRecords を呼び出します。 |
| pulVal | DWORD* | out | 言語コードを受け取る 24 ビットバッファーへのポインター。言語コードの一覧については、こちらのドキュメントを参照してください。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Digital Video Broadcast (DVB) の teletext 記述子から teletext タイプコードを取得します。
| bRecordIndex | BYTE | in | 返す記述子の 0 から始まるインデックス。記述子の数を取得するには、IDvbTeletextDescriptor::GetCountOfRecords を呼び出します。 | ||||||||||||||||
| pbVal | BYTE* | out | teletext タイプコードを受け取ります。次のいずれかの値になります。
|
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Digital Video Broadcast (DVB) の teletext 記述子から magazine 番号を取得します。
| bRecordIndex | BYTE | in | 返す記述子の 0 から始まるインデックス。記述子の数を取得するには、 IDvbTeletextDescriptor::GetCountOfRecords を呼び出します。 |
| pbVal | BYTE* | out | magazine 番号を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Digital Video Broadcast (DVB) の teletext 記述子からページ番号を取得します。ページ番号は、放送される teletext のページを識別します。
| bRecordIndex | BYTE | in | 返す記述子の 0 から始まるインデックス。記述子の数を取得するには、 IDvbTeletextDescriptor::GetCountOfRecords を呼び出します。 |
| pbVal | BYTE* | out | ページ番号を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IDvbTeletextDescriptor "{9CD29D47-69C6-4F92-98A9-210AF1B7303A}" #usecom global IDvbTeletextDescriptor IID_IDvbTeletextDescriptor "{}" #comfunc global IDvbTeletextDescriptor_GetTag 3 var #comfunc global IDvbTeletextDescriptor_GetLength 4 var #comfunc global IDvbTeletextDescriptor_GetCountOfRecords 5 var #comfunc global IDvbTeletextDescriptor_GetRecordLangId 6 int,var #comfunc global IDvbTeletextDescriptor_GetRecordTeletextType 7 int,var #comfunc global IDvbTeletextDescriptor_GetRecordMagazineNumber 8 int,var #comfunc global IDvbTeletextDescriptor_GetRecordPageNumber 9 int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IDvbTeletextDescriptor "{9CD29D47-69C6-4F92-98A9-210AF1B7303A}" #usecom global IDvbTeletextDescriptor IID_IDvbTeletextDescriptor "{}" #comfunc global IDvbTeletextDescriptor_GetTag 3 sptr #comfunc global IDvbTeletextDescriptor_GetLength 4 sptr #comfunc global IDvbTeletextDescriptor_GetCountOfRecords 5 sptr #comfunc global IDvbTeletextDescriptor_GetRecordLangId 6 int,sptr #comfunc global IDvbTeletextDescriptor_GetRecordTeletextType 7 int,sptr #comfunc global IDvbTeletextDescriptor_GetRecordMagazineNumber 8 int,sptr #comfunc global IDvbTeletextDescriptor_GetRecordPageNumber 9 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。