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

IATSC_VCT

COM
IID26879a18-32f9-46c6-91f0-fb6479270e8c継承元IUnknown自前メソッド開始 vtbl3

メソッド 26

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

vtbl 3 HRESULT Initialize(ISectionList* pSectionList, IMpeg2Data* pMPEGData)
pSectionListISectionList*inoptionalVCTを構成するセクション一覧ISectionListへのポインタ。
pMPEGDataIMpeg2Data*inoptionalデータ取得元のIMpeg2Dataインターフェイスへのポインタ。
vtbl 4 HRESULT GetVersionNumber(BYTE* pbVal)
pbValBYTE*outVCTのバージョン番号を受け取るBYTEポインタ。
vtbl 5 HRESULT GetTransportStreamId(WORD* pwVal)
pwValWORD*outトランスポートストリームID(TSID)を受け取るWORDポインタ。
vtbl 6 HRESULT GetProtocolVersion(BYTE* pbVal)
pbValBYTE*outVCTのプロトコルバージョンを受け取るBYTEポインタ。
vtbl 7 HRESULT GetCountOfRecords(DWORD* pdwVal)
pdwValDWORD*outVCT内のチャンネルレコード数を受け取るDWORDポインタ。
vtbl 8 HRESULT GetRecordName(DWORD dwRecordIndex, LPWSTR* pwsName)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pwsNameLPWSTR*out指定チャンネルの短縮名を受け取るワイド文字列ポインタ。
vtbl 9 HRESULT GetRecordMajorChannelNumber(DWORD dwRecordIndex, WORD* pwVal)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pwValWORD*out指定チャンネルのメジャー番号を受け取るWORDポインタ。
vtbl 10 HRESULT GetRecordMinorChannelNumber(DWORD dwRecordIndex, WORD* pwVal)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pwValWORD*out指定チャンネルのマイナー番号を受け取るWORDポインタ。
vtbl 11 HRESULT GetRecordModulationMode(DWORD dwRecordIndex, BYTE* pbVal)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pbValBYTE*out指定チャンネルの変調方式を受け取るBYTEポインタ。
vtbl 12 HRESULT GetRecordCarrierFrequency(DWORD dwRecordIndex, DWORD* pdwVal)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pdwValDWORD*out指定チャンネルの搬送波周波数を受け取るDWORDポインタ。
vtbl 13 HRESULT GetRecordTransportStreamId(DWORD dwRecordIndex, WORD* pwVal)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pwValWORD*out指定チャンネルのトランスポートストリームIDを受け取るWORDポインタ。
vtbl 14 HRESULT GetRecordProgramNumber(DWORD dwRecordIndex, WORD* pwVal)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pwValWORD*out指定チャンネルのプログラム番号を受け取るWORDポインタ。
vtbl 15 HRESULT GetRecordEtmLocation(DWORD dwRecordIndex, BYTE* pbVal)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pbValBYTE*out拡張テキストメッセージの所在を示す値を受け取るBYTEポインタ。
vtbl 16 HRESULT GetRecordIsAccessControlledBitSet(DWORD dwRecordIndex, BOOL* pfVal)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pfValBOOL*outアクセス制御(スクランブル)対象かどうかを受け取るBOOLポインタ。
vtbl 17 HRESULT GetRecordIsHiddenBitSet(DWORD dwRecordIndex, BOOL* pfVal)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pfValBOOL*outチャンネルが非表示扱いかどうかを受け取るBOOLポインタ。
vtbl 18 HRESULT GetRecordIsPathSelectBitSet(DWORD dwRecordIndex, BOOL* pfVal)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pfValBOOL*outパス選択ビットが設定されているかどうかを受け取るBOOLポインタ。
vtbl 19 HRESULT GetRecordIsOutOfBandBitSet(DWORD dwRecordIndex, BOOL* pfVal)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pfValBOOL*outアウトオブバンドチャンネルかどうかを受け取るBOOLポインタ。
vtbl 20 HRESULT GetRecordIsHideGuideBitSet(DWORD dwRecordIndex, BOOL* pfVal)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pfValBOOL*out番組ガイドから隠すかどうかを受け取るBOOLポインタ。
vtbl 21 HRESULT GetRecordServiceType(DWORD dwRecordIndex, BYTE* pbVal)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pbValBYTE*out指定チャンネルのサービス種別を受け取るBYTEポインタ。
vtbl 22 HRESULT GetRecordSourceId(DWORD dwRecordIndex, WORD* pwVal)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pwValWORD*out指定チャンネルのソースIDを受け取るWORDポインタ。
vtbl 23 HRESULT GetRecordCountOfDescriptors(DWORD dwRecordIndex, DWORD* pdwVal)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
pdwValDWORD*out指定チャンネルのディスクリプタ数を受け取るDWORDポインタ。
vtbl 24 HRESULT GetRecordDescriptorByIndex(DWORD dwRecordIndex, DWORD dwIndex, IGenericDescriptor** ppDescriptor)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
dwIndexDWORDinレコード内ディスクリプタの0起点インデックスを指定する。
ppDescriptorIGenericDescriptor**out指定ディスクリプタIGenericDescriptorを受け取るポインタ。
vtbl 25 HRESULT GetRecordDescriptorByTag(DWORD dwRecordIndex, BYTE bTag, DWORD* pdwCookie, IGenericDescriptor** ppDescriptor)
dwRecordIndexDWORDin対象レコードの0起点インデックスを指定する。
bTagBYTEin検索対象のディスクリプタタグを指定する。
pdwCookieDWORD*inout同一タグの反復検索に用いる位置クッキーを受け渡すDWORDポインタ。
ppDescriptorIGenericDescriptor**out該当ディスクリプタIGenericDescriptorを受け取るポインタ。
vtbl 26 HRESULT GetCountOfTableDescriptors(DWORD* pdwVal)
pdwValDWORD*inテーブルレベルのディスクリプタ数を受け取るDWORDポインタ。
vtbl 27 HRESULT GetTableDescriptorByIndex(DWORD dwIndex, IGenericDescriptor** ppDescriptor)
dwIndexDWORDin対象ディスクリプタの0起点インデックスを指定する。
ppDescriptorIGenericDescriptor**out指定ディスクリプタIGenericDescriptorを受け取るポインタ。
vtbl 28 HRESULT GetTableDescriptorByTag(BYTE bTag, DWORD* pdwCookie, IGenericDescriptor** ppDescriptor)
bTagBYTEin検索対象のディスクリプタタグを指定する。
pdwCookieDWORD*inout同一タグの反復検索に用いる位置クッキーを受け渡すDWORDポインタ。
ppDescriptorIGenericDescriptor**out該当ディスクリプタIGenericDescriptorを受け取るポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IATSC_VCT "{26879A18-32F9-46C6-91F0-FB6479270E8C}"
#usecom global IATSC_VCT IID_IATSC_VCT "{}"
#comfunc global IATSC_VCT_Initialize                         3 sptr,sptr
#comfunc global IATSC_VCT_GetVersionNumber                   4 var
#comfunc global IATSC_VCT_GetTransportStreamId               5 var
#comfunc global IATSC_VCT_GetProtocolVersion                 6 var
#comfunc global IATSC_VCT_GetCountOfRecords                  7 var
#comfunc global IATSC_VCT_GetRecordName                      8 int,var
#comfunc global IATSC_VCT_GetRecordMajorChannelNumber        9 int,var
#comfunc global IATSC_VCT_GetRecordMinorChannelNumber        10 int,var
#comfunc global IATSC_VCT_GetRecordModulationMode            11 int,var
#comfunc global IATSC_VCT_GetRecordCarrierFrequency          12 int,var
#comfunc global IATSC_VCT_GetRecordTransportStreamId         13 int,var
#comfunc global IATSC_VCT_GetRecordProgramNumber             14 int,var
#comfunc global IATSC_VCT_GetRecordEtmLocation               15 int,var
#comfunc global IATSC_VCT_GetRecordIsAccessControlledBitSet  16 int,var
#comfunc global IATSC_VCT_GetRecordIsHiddenBitSet            17 int,var
#comfunc global IATSC_VCT_GetRecordIsPathSelectBitSet        18 int,var
#comfunc global IATSC_VCT_GetRecordIsOutOfBandBitSet         19 int,var
#comfunc global IATSC_VCT_GetRecordIsHideGuideBitSet         20 int,var
#comfunc global IATSC_VCT_GetRecordServiceType               21 int,var
#comfunc global IATSC_VCT_GetRecordSourceId                  22 int,var
#comfunc global IATSC_VCT_GetRecordCountOfDescriptors        23 int,var
#comfunc global IATSC_VCT_GetRecordDescriptorByIndex         24 int,int,sptr
#comfunc global IATSC_VCT_GetRecordDescriptorByTag           25 int,int,var,sptr
#comfunc global IATSC_VCT_GetCountOfTableDescriptors         26 var
#comfunc global IATSC_VCT_GetTableDescriptorByIndex          27 int,sptr
#comfunc global IATSC_VCT_GetTableDescriptorByTag            28 int,var,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。