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

IIsdbCAContractInformationDescriptor

COM
IID08e18b25-a28f-4e92-821e-4fced5cc2291継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

Integrated Services Digital Broadcasting (ISDB) の限定受信 (CA) 契約情報記述子からデータを取得するメソッドを実装します。

メソッド 9

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

vtbl 3 HRESULT GetTag(BYTE* pbVal)

Integrated Services Digital Broadcasting (ISDB) の限定受信 (CA) 契約情報記述子を識別するタグを取得します。

pbValBYTE*outタグ値を受け取ります。ISDB CA 契約情報記述子の場合、この値は 0xCB です。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 4 HRESULT GetLength(BYTE* pbVal)

Integrated Services Digital Broadcasting (ISDB) の限定受信 (CA) 契約情報記述子の本体の長さをバイト単位で取得します。

pbValBYTE*out記述子の長さを受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 5 HRESULT GetCASystemId(WORD* pwVal)

Integrated Services Digital Broadcasting (ISDB) の限定受信 (CA) 契約情報記述子から CA_system_id フィールドの値を取得します。このフィールドは、契約情報に関連付けられた限定受信システムを識別します。

pwValWORD*out限定受信システムの識別子を受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 6 HRESULT GetCAUnitId(BYTE* pbVal)

Integrated Services Digital Broadcasting (ISDB) の限定受信 (CA) 契約情報記述子から CA_unit_id フィールドの値を取得します。このフィールドは、コンポーネントが属する課金単位または非課金単位を識別します。

pbValBYTE*out

限定受信の単位識別子を受け取ります。次のいずれかの値になります。

意味
0x0
非課金単位グループ。
0x1
デフォルトイベント ES グループを含む課金単位グループ。
0x2 - 0xF
デフォルトイベント ES グループ以外の課金単位グループ。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 7 HRESULT GetCountOfRecords(BYTE* pbVal)

Integrated Services Digital Broadcasting (ISDB) の限定受信 (CA) 契約情報記述子に含まれるレコードの数を取得します。

pbValBYTE*outレコードの数を受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 8 HRESULT GetRecordComponentTag(BYTE bRecordIndex, BYTE* pbVal)

Integrated Services Digital Broadcasting (ISDB) の限定受信 (CA) 契約情報記述子から、コンポーネントレコードを識別する放送事業者定義のタグを取得します。

bRecordIndexBYTEinタグを含むコンポーネントレコードの 0 から始まるインデックス。コンポーネントの数を取得するには、IIsdbCAContractInformationDescriptor::GetCountOfRecords を呼び出します。
pbValBYTE*outコンポーネントレコード ID タグを受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 9 HRESULT GetContractVerificationInfoLength(BYTE* pbVal)

Integrated Services Digital Broadcasting (ISDB) の限定受信 (CA) 契約情報記述子から contract_verification_info フィールドの長さを取得します。

pbValBYTE*outフィールドの長さを受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 10 HRESULT GetContractVerificationInfo(BYTE bBufLength, BYTE* pbBuf)

Integrated Services Digital Broadcasting (ISDB) の限定受信 (CA) 契約情報記述子内の contract_verification_info フィールドからデータを取得します。このフィールドは、限定受信サービスの許可された用途を判別するために使用されます。

bBufLengthBYTEin契約検証データを保持するバッファーの長さを指定します。
pbBufBYTE*out契約検証データを受け取るバッファーへのポインター。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

contract_verification_info フィールドは、サービス、またはサービスを構成する ES グループが、視聴 (録画) のために予約可能かどうかを確認するために使用されます。contract_verification_info フィールドが event information table (EIT) に現れる場合、対象のイベントがフラット型かティア型か、イベントを構成する ES グループか、pay-per-view (PPV) イベントか、あるいは PPV イベントを構成する ES グループかを判別するためにも使用されます。イベントが PPV イベントまたは PPV イベントを構成する ES グループである場合、この記述子は視聴料金および録画要求情報を判別するために使用されます。

vtbl 11 HRESULT GetFeeNameW(DVB_STRCONV_MODE convMode, LPWSTR* pbstrName)

Integrated Services Digital Broadcasting (ISDB) の限定受信 (CA) 契約情報記述子から fee_name フィールドの値を Unicode テキスト形式で取得します。このフィールドは、記述対象の ES グループに対する料金を示します。

convModeDVB_STRCONV_MODEin

使用する文字列変換モードを指定します。このパラメーターには次のいずれかの値を指定できます。

pbstrNameLPWSTR*out料金名を受け取るバッファーへのポインター。このメモリを解放する責任は呼び出し側にあります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_IIsdbCAContractInformationDescriptor "{08E18B25-A28F-4E92-821E-4FCED5CC2291}"
#usecom global IIsdbCAContractInformationDescriptor IID_IIsdbCAContractInformationDescriptor "{}"
#comfunc global IIsdbCAContractInformationDescriptor_GetTag                             3 var
#comfunc global IIsdbCAContractInformationDescriptor_GetLength                          4 var
#comfunc global IIsdbCAContractInformationDescriptor_GetCASystemId                      5 var
#comfunc global IIsdbCAContractInformationDescriptor_GetCAUnitId                        6 var
#comfunc global IIsdbCAContractInformationDescriptor_GetCountOfRecords                  7 var
#comfunc global IIsdbCAContractInformationDescriptor_GetRecordComponentTag              8 int,var
#comfunc global IIsdbCAContractInformationDescriptor_GetContractVerificationInfoLength  9 var
#comfunc global IIsdbCAContractInformationDescriptor_GetContractVerificationInfo        10 int,var
#comfunc global IIsdbCAContractInformationDescriptor_GetFeeNameW                        11 int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。