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

IIsdbComponentGroupDescriptor

COM
IIDa494f17f-c592-47d8-8943-64c9a34be7b9継承元IUnknown自前メソッド開始 vtbl3

メソッド 11

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

vtbl 3 HRESULT GetTag(BYTE* pbVal)
pbValBYTE*out記述子タグ(component_group_descriptor=0xD9)を受け取るBYTEへのポインタ。
vtbl 4 HRESULT GetLength(BYTE* pbVal)
pbValBYTE*out記述子本体のバイト長を受け取るBYTEへのポインタ。
vtbl 5 HRESULT GetComponentGroupType(BYTE* pbVal)
pbValBYTE*outコンポーネントグループ種別(component_group_type。マルチビュー等)を受け取るBYTEへのポインタ。
vtbl 6 HRESULT GetCountOfRecords(BYTE* pbVal)
pbValBYTE*outコンポーネントグループのレコード数を受け取るBYTEへのポインタ。
vtbl 7 HRESULT GetRecordGroupId(BYTE bRecordIndex, BYTE* pbVal)
bRecordIndexBYTEin取得対象レコードの0始まりインデックスを指定するBYTE。
pbValBYTE*outコンポーネントグループID(component_group_id)を受け取るBYTEへのポインタ。
vtbl 8 HRESULT GetRecordNumberOfCAUnit(BYTE bRecordIndex, BYTE* pbVal)
bRecordIndexBYTEin取得対象レコードの0始まりインデックスを指定するBYTE。
pbValBYTE*out当該グループ内のCAユニット数を受け取るBYTEへのポインタ。
vtbl 9 HRESULT GetRecordCAUnitCAUnitId(BYTE bRecordIndex, BYTE bCAUnitIndex, BYTE* pbVal)
bRecordIndexBYTEin取得対象グループレコードの0始まりインデックスを指定するBYTE。
bCAUnitIndexBYTEinグループ内CAユニットの0始まりインデックスを指定するBYTE。
pbValBYTE*out対象CAユニットのCA単位ID(CA_unit_id)を受け取るBYTEへのポインタ。
vtbl 10 HRESULT GetRecordCAUnitNumberOfComponents(BYTE bRecordIndex, BYTE bCAUnitIndex, BYTE* pbVal)
bRecordIndexBYTEin取得対象グループレコードの0始まりインデックスを指定するBYTE。
bCAUnitIndexBYTEinグループ内CAユニットの0始まりインデックスを指定するBYTE。
pbValBYTE*out対象CAユニットに属するコンポーネント数を受け取るBYTEへのポインタ。
vtbl 11 HRESULT GetRecordCAUnitComponentTag(BYTE bRecordIndex, BYTE bCAUnitIndex, BYTE bComponentIndex, BYTE* pbVal)
bRecordIndexBYTEin取得対象グループレコードの0始まりインデックスを指定するBYTE。
bCAUnitIndexBYTEinグループ内CAユニットの0始まりインデックスを指定するBYTE。
bComponentIndexBYTEinCAユニット内コンポーネントの0始まりインデックスを指定するBYTE。
pbValBYTE*out対象コンポーネントタグ(component_tag)を受け取るBYTEへのポインタ。
vtbl 12 HRESULT GetRecordTotalBitRate(BYTE bRecordIndex, BYTE* pbVal)
bRecordIndexBYTEin取得対象レコードの0始まりインデックスを指定するBYTE。
pbValBYTE*out当該グループの合計ビットレート(total_bit_rate)を受け取るBYTEへのポインタ。
vtbl 13 HRESULT GetRecordTextW(BYTE bRecordIndex, DVB_STRCONV_MODE convMode, LPWSTR* pbstrText)
bRecordIndexBYTEin取得対象レコードの0始まりインデックスを指定するBYTE。
convModeDVB_STRCONV_MODEin文字コード変換方式を指定するDVB_STRCONV_MODE列挙値。
pbstrTextLPWSTR*outコンポーネントグループの説明テキストのワイド文字列を受け取るLPWSTRへのポインタ。呼出側が解放する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IIsdbComponentGroupDescriptor "{A494F17F-C592-47D8-8943-64C9A34BE7B9}"
#usecom global IIsdbComponentGroupDescriptor IID_IIsdbComponentGroupDescriptor "{}"
#comfunc global IIsdbComponentGroupDescriptor_GetTag                             3 var
#comfunc global IIsdbComponentGroupDescriptor_GetLength                          4 var
#comfunc global IIsdbComponentGroupDescriptor_GetComponentGroupType              5 var
#comfunc global IIsdbComponentGroupDescriptor_GetCountOfRecords                  6 var
#comfunc global IIsdbComponentGroupDescriptor_GetRecordGroupId                   7 int,var
#comfunc global IIsdbComponentGroupDescriptor_GetRecordNumberOfCAUnit            8 int,var
#comfunc global IIsdbComponentGroupDescriptor_GetRecordCAUnitCAUnitId            9 int,int,var
#comfunc global IIsdbComponentGroupDescriptor_GetRecordCAUnitNumberOfComponents  10 int,int,var
#comfunc global IIsdbComponentGroupDescriptor_GetRecordCAUnitComponentTag        11 int,int,int,var
#comfunc global IIsdbComponentGroupDescriptor_GetRecordTotalBitRate              12 int,var
#comfunc global IIsdbComponentGroupDescriptor_GetRecordTextW                     13 int,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。