IIsdbDownloadContentDescriptor
COM公式ドキュメント
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子からデータを取得するメソッドを実装します。
メソッド 17
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子を識別するタグを取得します。
| pbVal | BYTE* | out | タグ値を受け取ります。ISDB のダウンロードコンテンツ記述子の場合、この値は 0xC9 です。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子の本体長をバイト単位で取得します。
| pbVal | BYTE* | out | 記述子の長さを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子からフラグ値を取得します。
| pfReboot | BOOL* | out | reboot フラグの値を受け取ります。このフラグは、ダウンロード後に再起動が必要な場合は 1、不要な場合は 0 です。 |
| pfAddOn | BOOL* | out | add_on フラグの値を受け取ります。このフラグは、ダウンロードが既存のファイルに追加される場合は 1、既存のファイルを上書きする場合は 0 です。 |
| pfCompatibility | BOOL* | out | compatibility_flag フィールドの値を受け取ります。このフラグは、記述子が互換性記述子を持つ場合は 1、持たない場合は 0 です。 |
| pfModuleInfo | BOOL* | out | module_info フラグの値を受け取ります。このフラグは、記述子に各モジュールの情報が含まれる場合は 1、含まれない場合は 0 です。 |
| pfTextInfo | BOOL* | out | text_info_flag フィールドの値を受け取ります。このフラグは、記述子の最後のフィールドにテキストによる説明が含まれる場合は 1、含まれない場合は 0 です。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子から、同一のカルーセル内で伝送されるコンポーネントの合計サイズをバイト単位で取得します。
| pdwVal | DWORD* | out | コンポーネントのサイズを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子からダウンロード識別子を取得します。ダウンロード識別子は、ダウンロードのアプリケーション番号を識別します。
| pdwVal | DWORD* | out | ダウンロード識別子を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子から time_out_value_DII フィールドの値を取得します。
| pdwVal | DWORD* | out | 推奨されるタイムアウト値を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子から、トランスポートバッファーのリークレートをバイト毎秒で取得します。
| pdwVal | DWORD* | out | リークレートを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子から、ストリームコンポーネントを識別するタグを取得します。このタグは、program map table (PMT) 内のストリームも識別します。
| pbVal | BYTE* | out | コンポーネントタグを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子から、互換性記述子の長さを取得します。
| pwLength | WORD* | out | 互換性記述子の長さを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子内の互換性記述子からデータを取得します。互換性記述子は、ダウンロードによって更新される対象を指定します。
| ppbData | BYTE** | out | 互換性記述子を受け取るバッファーへのポインター。このメモリの解放は呼び出し側の責任です。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子の本体長をバイト単位で取得します。
| pwVal | WORD* | out | レコード数を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子から、ダウンロードに使用されるカルーセルを指定する識別子を取得します。
| wRecordIndex | WORD | in | モジュールのレコード番号を 0 から始まるインデックスで指定します。拡張イベント記述子内のレコード数を取得するには、IIsdbDownloadContentDescriptor::GetCountOfRecords メソッドを呼び出します。 |
| pwVal | WORD* | out | モジュール ID を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子から、モジュールのサイズをバイト単位で取得します。
| wRecordIndex | WORD | in | module_info_byte フィールドを含むモジュールのレコード番号を 0 から始まるインデックスで指定します。ダウンロードコンテンツ記述子内のレコード数を取得するには、IIsdbDownloadContentDescriptor::GetCountOfRecords メソッドを呼び出します。 |
| pdwVal | DWORD* | out | モジュールのサイズを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子から module_info_length フィールドの値を取得します。module_info_length フィールドは、記述子内の module_info_byte フィールドの長さを示します。
| wRecordIndex | WORD | in | module_info_byte フィールドを含むモジュールのレコード番号を 0 から始まるインデックスで指定します。拡張イベント記述子内のレコード数を取得するには、IIsdbDownloadContentDescriptor::GetCountOfRecords メソッドを呼び出します。 |
| pbVal | BYTE* | out | module_info_byte フィールドの長さを受け取ります。このフィールドの内容を取得するには、IIsdbDownloadContentDescriptor::GetRecordModuleInfo メソッドを呼び出します。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子内のモジュールレコードから、module_info_byte フィールドの値を取得します。
| wRecordIndex | WORD | in | module_info_byte フィールドを含むモジュールのレコード番号を 0 から始まるインデックスで指定します。拡張イベント記述子内のレコード数を取得するには、IIsdbDownloadContentDescriptor::GetCountOfRecords メソッドを呼び出します。 |
| ppbData | BYTE** | out | フィールド値を受け取るバッファーへのポインター。このメモリの解放は呼び出し側の責任です。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子から、3 文字の ISO 639 言語コードを取得します。
| szCode | BYTE* | out | 言語コードを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Integrated Services Digital Broadcasting (ISDB) のダウンロードコンテンツ記述子から、記述子の内容を説明するテキストを Unicode テキスト形式で取得します。
| convMode | DVB_STRCONV_MODE | in | 使用する文字列変換モードを指定します。このパラメーターには、次のいずれかの値を指定できます。 |
| pbstrName | LPWSTR* | out | 説明テキストを受け取るバッファーへのポインター。このメモリの解放は呼び出し側の責任です。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IIsdbDownloadContentDescriptor "{5298661E-CB88-4F5F-A1DE-5F440C185B92}" #usecom global IIsdbDownloadContentDescriptor IID_IIsdbDownloadContentDescriptor "{}" #comfunc global IIsdbDownloadContentDescriptor_GetTag 3 var #comfunc global IIsdbDownloadContentDescriptor_GetLength 4 var #comfunc global IIsdbDownloadContentDescriptor_GetFlags 5 var,var,var,var,var #comfunc global IIsdbDownloadContentDescriptor_GetComponentSize 6 var #comfunc global IIsdbDownloadContentDescriptor_GetDownloadId 7 var #comfunc global IIsdbDownloadContentDescriptor_GetTimeOutValueDII 8 var #comfunc global IIsdbDownloadContentDescriptor_GetLeakRate 9 var #comfunc global IIsdbDownloadContentDescriptor_GetComponentTag 10 var #comfunc global IIsdbDownloadContentDescriptor_GetCompatiblityDescriptorLength 11 var #comfunc global IIsdbDownloadContentDescriptor_GetCompatiblityDescriptor 12 var #comfunc global IIsdbDownloadContentDescriptor_GetCountOfRecords 13 var #comfunc global IIsdbDownloadContentDescriptor_GetRecordModuleId 14 int,var #comfunc global IIsdbDownloadContentDescriptor_GetRecordModuleSize 15 int,var #comfunc global IIsdbDownloadContentDescriptor_GetRecordModuleInfoLength 16 int,var #comfunc global IIsdbDownloadContentDescriptor_GetRecordModuleInfo 17 int,var #comfunc global IIsdbDownloadContentDescriptor_GetTextLanguageCode 18 var #comfunc global IIsdbDownloadContentDescriptor_GetTextW 19 int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IIsdbDownloadContentDescriptor "{5298661E-CB88-4F5F-A1DE-5F440C185B92}" #usecom global IIsdbDownloadContentDescriptor IID_IIsdbDownloadContentDescriptor "{}" #comfunc global IIsdbDownloadContentDescriptor_GetTag 3 sptr #comfunc global IIsdbDownloadContentDescriptor_GetLength 4 sptr #comfunc global IIsdbDownloadContentDescriptor_GetFlags 5 sptr,sptr,sptr,sptr,sptr #comfunc global IIsdbDownloadContentDescriptor_GetComponentSize 6 sptr #comfunc global IIsdbDownloadContentDescriptor_GetDownloadId 7 sptr #comfunc global IIsdbDownloadContentDescriptor_GetTimeOutValueDII 8 sptr #comfunc global IIsdbDownloadContentDescriptor_GetLeakRate 9 sptr #comfunc global IIsdbDownloadContentDescriptor_GetComponentTag 10 sptr #comfunc global IIsdbDownloadContentDescriptor_GetCompatiblityDescriptorLength 11 sptr #comfunc global IIsdbDownloadContentDescriptor_GetCompatiblityDescriptor 12 sptr #comfunc global IIsdbDownloadContentDescriptor_GetCountOfRecords 13 sptr #comfunc global IIsdbDownloadContentDescriptor_GetRecordModuleId 14 int,sptr #comfunc global IIsdbDownloadContentDescriptor_GetRecordModuleSize 15 int,sptr #comfunc global IIsdbDownloadContentDescriptor_GetRecordModuleInfoLength 16 int,sptr #comfunc global IIsdbDownloadContentDescriptor_GetRecordModuleInfo 17 int,sptr #comfunc global IIsdbDownloadContentDescriptor_GetTextLanguageCode 18 sptr #comfunc global IIsdbDownloadContentDescriptor_GetTextW 19 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。