IISDB_SDTT
COM公式ドキュメント
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) からデータを取得するメソッドを実装します。SDTT には、service ID、スケジュール、リビジョン対象の受信機タイプといったダウンロード情報が含まれます。
メソッド 20
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) からキャプチャしたテーブルセクションデータを使用して、オブジェクトを初期化します。
| pSectionList | ISectionList* | in | セクションデータを含むオブジェクトの ISectionList インターフェイスへのポインター。 |
| pMPEGData | IMpeg2Data* | in | MPEG-2 Sections and Tables フィルターの IMpeg2Data インターフェイスへのポインター。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) のバージョン番号を取得します。
| pbVal | BYTE* | out | バージョン番号を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) から table_id_extension フィールドの値を取得します。このフィールド値は、SDTT の特定のインスタンスを識別します。
| pwVal | WORD* | out | table_id_extension フィールドの値を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) の transport stream identifier (TSID) を返します。
| pwVal | WORD* | out | transport_stream_id フィールドを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) から、MPEG-2 transport stream の発信元となった放送事業者を識別する識別子を取得します。
| pwVal | WORD* | out | original network ID を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting System (ISDB) の software download trigger table (SDTT) から、サービスを一意に識別する service_id フィールドを受け取ります。
| pwVal | WORD* | out | service_id の値を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) 内のレコード数を取得します。
| pdwVal | DWORD* | out | レコード数を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) 内のレコードから録画ダウンロードレベルを受け取ります。
| dwRecordIndex | DWORD | in | レコード番号を指定します(0 から始まるインデックス)。SDTT 内のレコード数を取得するには IISDB_SDTT::GetCountOfRecords メソッドを呼び出します。 |
| pbVal | BYTE* | out | 録画ダウンロードレベルを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の Software Download Trigger Table (SDTT) 内のレコードから対象バージョンを受け取ります。
| dwRecordIndex | DWORD | in | レコード番号を指定します(0 から始まるインデックス)。SDTT 内のレコード数を取得するには IISDB_SDTT::GetCountOfRecords メソッドを呼び出します。 |
| pwVal | WORD* | out | 対象バージョンを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) 内のサブテーブルから、新しい version_number フィールドの値を返します。
| dwRecordIndex | DWORD | in | レコード番号を指定します(0 から始まるインデックス)。SDTT 内のレコード数を取得するには IISDB_SDTT::GetCountOfRecords メソッドを呼び出します。 |
| pwVal | WORD* | out | 新しい version_number フィールドの値を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) からダウンロードレベルを取得します。
| dwRecordIndex | DWORD | in | レコード番号を指定します(0 から始まるインデックス)。SDTT 内のレコード数を取得するには IISDB_SDTT::GetCountOfRecords メソッドを呼び出します。 |
| pbVal | BYTE* | out | ダウンロードレベルを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) 内のレコードから version indicator を受け取ります。
| dwRecordIndex | DWORD | in | レコード番号を指定します(0 から始まるインデックス)。SDTT 内のレコード数を取得するには IISDB_SDTT::GetCountOfRecords メソッドを呼び出します。 |
| pbVal | BYTE* | out | version indicator を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) 内のスケジュールレコードから、イベントのタイムシフト情報を受け取ります。
| dwRecordIndex | DWORD | in | レコード番号を指定します(0 から始まるインデックス)。SDTT 内のレコード数を取得するには IISDB_SDTT::GetCountOfRecords メソッドを呼び出します。 |
| pbVal | BYTE* | out | イベントのタイムシフトデータを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Information for Digital Broadcasting System (IDBS) の software download trigger table (SDTT) 内のレコードからスケジュール数を返します。
| dwRecordIndex | DWORD | in | レコード番号を指定します(0 から始まるインデックス)。SDTT 内のレコード数を取得するには IISDB_SDTT::GetCountOfRecords メソッドを呼び出します。 |
| pdwVal | DWORD* | out | スケジュール数を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) 内のスケジュールレコードから、イベントの開始時刻を取得します。
| dwRecordIndex | DWORD | in | レコード番号を指定します(0 から始まるインデックス)。SDTT 内のレコード数を取得するには IISDB_SDTT::GetCountOfRecords メソッドを呼び出します。 |
| dwIndex | DWORD | in | 選択したコンテンツのスケジュールへのインデックス。 |
| pmdtVal | MPEG_DATE_AND_TIME* | out | イベントの開始時刻を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の Software Download Trigger Table (SDTT) 内のスケジュールレコードから、イベントの継続時間を受け取ります。
| dwRecordIndex | DWORD | in | レコード番号を指定します(0 から始まるインデックス)。SDTT 内のレコード数を取得するには IISDB_SDTT::GetCountOfRecords メソッドを呼び出します。 |
| dwIndex | DWORD | in | 取得する descriptor を指定します(0 から始まるインデックス)。特定のレコードの descriptor 数を取得するには IISDB_SDTT::GetRecordCountOfDescriptors メソッドを呼び出します。 |
| pmdVal | MPEG_TIME* | out | レコードの継続時間を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) 内のレコードの descriptor 数を返します。
| dwRecordIndex | DWORD | in | レコード番号を指定します(0 から始まるインデックス)。SDTT 内のレコード数を取得するには IISDB_SDTT::GetCountOfRecords メソッドを呼び出します。 |
| pdwVal | DWORD* | out | descriptor 数を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) 内の指定したレコードの descriptor を返します。
| dwRecordIndex | DWORD | in | レコード番号を指定します(0 から始まるインデックス)。SDTT 内のレコード数を取得するには IISDB_SDTT::GetCountOfRecords メソッドを呼び出します。 |
| dwIndex | DWORD | in | 取得する descriptor を指定します(0 から始まるインデックス)。特定のレコードの descriptor 数を取得するには IISDB_SDTT::GetRecordCountOfDescriptors メソッドを呼び出します。 |
| ppDescriptor | IGenericDescriptor** | out | 取得する descriptor の IGenericDescriptor インターフェイスへのポインター。このメモリの解放は呼び出し側の責任です。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) 内のレコードを検索します。
| dwRecordIndex | DWORD | in | レコード番号を指定します(0 から始まるインデックス)。SDTT 内のレコード数を取得するには IISDB_SDTT::GetCountOfRecords メソッドを呼び出します。 |
| bTag | BYTE | in | 検索する descriptor tag を指定します。 |
| pdwCookie | DWORD* | inoutoptional | descriptor リスト内の開始位置を指定する変数へのポインター。このパラメーターは省略可能です。pdwCookie の値が NULL の場合、検索はリストの最初の descriptor から開始されます。それ以外の場合、検索は pdwCookie で指定された位置から開始されます。メソッドが返るとき、pdwCookie パラメーターには、次に一致する descriptor があればその位置が格納されます。このパラメーターを使用すると、descriptor リストを反復処理して、特定の descriptor tag のすべてのインスタンスを検索できます。 |
| ppDescriptor | IGenericDescriptor** | out | IGenericDescriptor インターフェイスポインターを受け取る変数のアドレス。このインターフェイスを使用して descriptor 内の情報を取得します。呼び出し側はインターフェイスを解放する必要があります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) の software download trigger table (SDTT) のこのインスタンスに対する hash 値を返します。
| pdwVersionHash | DWORD* | out | hash 値を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IISDB_SDTT "{EE60EF2D-813A-4DC7-BF92-EA13DAC85313}" #usecom global IISDB_SDTT IID_IISDB_SDTT "{}" #comfunc global IISDB_SDTT_Initialize 3 sptr,sptr #comfunc global IISDB_SDTT_GetVersionNumber 4 var #comfunc global IISDB_SDTT_GetTableIdExt 5 var #comfunc global IISDB_SDTT_GetTransportStreamId 6 var #comfunc global IISDB_SDTT_GetOriginalNetworkId 7 var #comfunc global IISDB_SDTT_GetServiceId 8 var #comfunc global IISDB_SDTT_GetCountOfRecords 9 var #comfunc global IISDB_SDTT_GetRecordGroup 10 int,var #comfunc global IISDB_SDTT_GetRecordTargetVersion 11 int,var #comfunc global IISDB_SDTT_GetRecordNewVersion 12 int,var #comfunc global IISDB_SDTT_GetRecordDownloadLevel 13 int,var #comfunc global IISDB_SDTT_GetRecordVersionIndicator 14 int,var #comfunc global IISDB_SDTT_GetRecordScheduleTimeShiftInformation 15 int,var #comfunc global IISDB_SDTT_GetRecordCountOfSchedules 16 int,var #comfunc global IISDB_SDTT_GetRecordStartTimeByIndex 17 int,int,var #comfunc global IISDB_SDTT_GetRecordDurationByIndex 18 int,int,var #comfunc global IISDB_SDTT_GetRecordCountOfDescriptors 19 int,var #comfunc global IISDB_SDTT_GetRecordDescriptorByIndex 20 int,int,sptr #comfunc global IISDB_SDTT_GetRecordDescriptorByTag 21 int,int,var,sptr #comfunc global IISDB_SDTT_GetVersionHash 22 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IISDB_SDTT "{EE60EF2D-813A-4DC7-BF92-EA13DAC85313}" #usecom global IISDB_SDTT IID_IISDB_SDTT "{}" #comfunc global IISDB_SDTT_Initialize 3 sptr,sptr #comfunc global IISDB_SDTT_GetVersionNumber 4 sptr #comfunc global IISDB_SDTT_GetTableIdExt 5 sptr #comfunc global IISDB_SDTT_GetTransportStreamId 6 sptr #comfunc global IISDB_SDTT_GetOriginalNetworkId 7 sptr #comfunc global IISDB_SDTT_GetServiceId 8 sptr #comfunc global IISDB_SDTT_GetCountOfRecords 9 sptr #comfunc global IISDB_SDTT_GetRecordGroup 10 int,sptr #comfunc global IISDB_SDTT_GetRecordTargetVersion 11 int,sptr #comfunc global IISDB_SDTT_GetRecordNewVersion 12 int,sptr #comfunc global IISDB_SDTT_GetRecordDownloadLevel 13 int,sptr #comfunc global IISDB_SDTT_GetRecordVersionIndicator 14 int,sptr #comfunc global IISDB_SDTT_GetRecordScheduleTimeShiftInformation 15 int,sptr #comfunc global IISDB_SDTT_GetRecordCountOfSchedules 16 int,sptr #comfunc global IISDB_SDTT_GetRecordStartTimeByIndex 17 int,int,sptr #comfunc global IISDB_SDTT_GetRecordDurationByIndex 18 int,int,sptr #comfunc global IISDB_SDTT_GetRecordCountOfDescriptors 19 int,sptr #comfunc global IISDB_SDTT_GetRecordDescriptorByIndex 20 int,int,sptr #comfunc global IISDB_SDTT_GetRecordDescriptorByTag 21 int,int,sptr,sptr #comfunc global IISDB_SDTT_GetVersionHash 22 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。