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

IIsdbDownloadContentDescriptor

COM
IID5298661e-cb88-4f5f-a1de-5f440c185b92継承元IUnknown自前メソッド開始 vtbl3

メソッド 17

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

vtbl 3 HRESULT GetTag(BYTE* pbVal)
pbValBYTE*out記述子タグ(download_content_descriptor=0xC9)を受け取るBYTEへのポインタ。
vtbl 4 HRESULT GetLength(BYTE* pbVal)
pbValBYTE*out記述子本体のバイト長を受け取るBYTEへのポインタ。
vtbl 5 HRESULT GetFlags(BOOL* pfReboot, BOOL* pfAddOn, BOOL* pfCompatibility, BOOL* pfModuleInfo, BOOL* pfTextInfo)
pfRebootBOOL*outダウンロード後の再起動要否フラグ(reboot)を受け取るBOOLへのポインタ。
pfAddOnBOOL*out追加機能か否かを示すアドオンフラグ(add_on)を受け取るBOOLへのポインタ。
pfCompatibilityBOOL*out互換性記述子の有無フラグ(compatibility_flag)を受け取るBOOLへのポインタ。
pfModuleInfoBOOL*outモジュール情報の有無フラグ(module_info_flag)を受け取るBOOLへのポインタ。
pfTextInfoBOOL*outテキスト情報の有無フラグ(text_info_flag)を受け取るBOOLへのポインタ。
vtbl 6 HRESULT GetComponentSize(DWORD* pdwVal)
pdwValDWORD*outダウンロード対象コンポーネントの総サイズ(component_size)を受け取るDWORDへのポインタ。単位バイト。
vtbl 7 HRESULT GetDownloadId(DWORD* pdwVal)
pdwValDWORD*outダウンロードを識別するダウンロードID(download_id)を受け取るDWORDへのポインタ。
vtbl 8 HRESULT GetTimeOutValueDII(DWORD* pdwVal)
pdwValDWORD*outDIIメッセージのタイムアウト値(time_out_value_DII)を受け取るDWORDへのポインタ。
vtbl 9 HRESULT GetLeakRate(DWORD* pdwVal)
pdwValDWORD*out伝送リークレート(leak_rate)を受け取るDWORDへのポインタ。
vtbl 10 HRESULT GetComponentTag(BYTE* pbVal)
pbValBYTE*out対象コンポーネントのタグ(component_tag)を受け取るBYTEへのポインタ。
vtbl 11 HRESULT GetCompatiblityDescriptorLength(WORD* pwLength)
pwLengthWORD*out互換性記述子領域のバイト長を受け取るWORDへのポインタ。
vtbl 12 HRESULT GetCompatiblityDescriptor(BYTE** ppbData)
ppbDataBYTE**out互換性記述子の生バイト列先頭ポインタを受け取るBYTE*へのポインタ。
vtbl 13 HRESULT GetCountOfRecords(WORD* pwVal)
pwValWORD*outモジュールレコード数を受け取るWORDへのポインタ。
vtbl 14 HRESULT GetRecordModuleId(WORD wRecordIndex, WORD* pwVal)
wRecordIndexWORDin取得対象モジュールの0始まりインデックスを指定するWORD。
pwValWORD*out対象モジュールのモジュールID(module_id)を受け取るWORDへのポインタ。
vtbl 15 HRESULT GetRecordModuleSize(WORD wRecordIndex, DWORD* pdwVal)
wRecordIndexWORDin取得対象モジュールの0始まりインデックスを指定するWORD。
pdwValDWORD*out対象モジュールのサイズ(module_size)を受け取るDWORDへのポインタ。単位バイト。
vtbl 16 HRESULT GetRecordModuleInfoLength(WORD wRecordIndex, BYTE* pbVal)
wRecordIndexWORDin取得対象モジュールの0始まりインデックスを指定するWORD。
pbValBYTE*out対象モジュールの情報領域バイト長を受け取るBYTEへのポインタ。
vtbl 17 HRESULT GetRecordModuleInfo(WORD wRecordIndex, BYTE** ppbData)
wRecordIndexWORDin取得対象モジュールの0始まりインデックスを指定するWORD。
ppbDataBYTE**out対象モジュールの情報生バイト列先頭ポインタを受け取るBYTE*へのポインタ。
vtbl 18 HRESULT GetTextLanguageCode(BYTE* szCode)
szCodeBYTE*outテキストのISO639言語コード(3バイト)を受け取るBYTEバッファへのポインタ。
vtbl 19 HRESULT GetTextW(DVB_STRCONV_MODE convMode, LPWSTR* pbstrName)
convModeDVB_STRCONV_MODEin文字コード変換方式を指定するDVB_STRCONV_MODE列挙値。
pbstrNameLPWSTR*outダウンロードコンテンツの説明テキストのワイド文字列を受け取るLPWSTRへのポインタ。呼出側が解放する。

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 方式にも切替可。