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

IIsdbCAServiceDescriptor

COM
IID39cbeb97-ff0b-42a7-9ab9-7b9cfe70a77a継承元IUnknown自前メソッド開始 vtbl3

メソッド 6

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

vtbl 3 HRESULT GetTag(BYTE* pbVal)
pbValBYTE*out記述子タグ(CA_service_descriptor=0xCC)を受け取るBYTEへのポインタ。
vtbl 4 HRESULT GetLength(BYTE* pbVal)
pbValBYTE*out記述子本体のバイト長を受け取るBYTEへのポインタ。
vtbl 5 HRESULT GetCASystemId(WORD* pwVal)
pwValWORD*out限定受信方式を示すCAシステムID(CA_system_id)を受け取るWORDへのポインタ。
vtbl 6 HRESULT GetCABroadcasterGroupId(BYTE* pbVal)
pbValBYTE*outCA放送事業者グループID(ca_broadcaster_group_id)を受け取るBYTEへのポインタ。
vtbl 7 HRESULT GetMessageControl(BYTE* pbVal)
pbValBYTE*out猶予期間等のメッセージ制御値(message_control)を受け取るBYTEへのポインタ。
vtbl 8 HRESULT GetServiceIds(BYTE* pbNumServiceIds, WORD* pwServiceIds)
pbNumServiceIdsBYTE*inout対象サービスIDの個数を受け取るBYTEへのポインタ。
pwServiceIdsWORD*out対象サービスID配列を受け取るWORDバッファへのポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IIsdbCAServiceDescriptor "{39CBEB97-FF0B-42A7-9AB9-7B9CFE70A77A}"
#usecom global IIsdbCAServiceDescriptor IID_IIsdbCAServiceDescriptor "{}"
#comfunc global IIsdbCAServiceDescriptor_GetTag                   3 var
#comfunc global IIsdbCAServiceDescriptor_GetLength                4 var
#comfunc global IIsdbCAServiceDescriptor_GetCASystemId            5 var
#comfunc global IIsdbCAServiceDescriptor_GetCABroadcasterGroupId  6 var
#comfunc global IIsdbCAServiceDescriptor_GetMessageControl        7 var
#comfunc global IIsdbCAServiceDescriptor_GetServiceIds            8 var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。