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

IISDB_EMM

COM
IID0edb556d-43ad-4938-9668-321b2ffecfd3継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

Integrated Services Digital Broadcasting (ISDB) の entitlement management message (EMM) テーブルからデータを取得します。

メソッド 7

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

vtbl 3 HRESULT Initialize(ISectionList* pSectionList, IMpeg2Data* pMPEGData)

MPEG-2 EMM セクションのリストを使用して、Integrated Services Digital Broadcasting (ISDB) の entitlement management message (EMM) テーブルのデータ要素を初期化します。

pSectionListISectionList*inMPEG-2 ISDB EMM セクションリストに対応する ISectionList インターフェイスへのポインター。
pMPEGDataIMpeg2Data*inMPEG-2 Sections and Tables フィルターの IMpeg2Data インターフェイスへのポインター。

戻り値

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

vtbl 4 HRESULT GetVersionNumber(BYTE* pbVal)

Integrated Services Digital Broadcasting (ISDB) の entitlement management message (EMM) テーブルのバージョン番号を取得します。

pbValBYTE*outversion_number フィールドを受け取ります。

戻り値

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

vtbl 5 HRESULT GetTableIdExtension(WORD* pwVal)

Integrated Services Digital Broadcasting (ISDB) の entitlement management message (EMM) テーブル内のサブテーブルを識別する table_id_extension フィールドを取得します。

pwValWORD*outtable_id フィールドの値を受け取ります。

戻り値

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

vtbl 6 HRESULT GetDataBytes(WORD* pwBufferLength, BYTE* pbBuffer)

Integrated Services Digital Broadcasting (ISDB) の entitlement management message (EMM) テーブルからデータを取得します。

pwBufferLengthWORD*inout入力時には、EMM テーブルデータを受け取るバッファー(pbBuffer パラメーターで指定)の長さをバイト単位で指定します。出力時には、pbBuffer で返されるデータの実際の長さを取得します。
pbBufferBYTE*outEMM テーブルからのデータを受け取ります。 このバッファーの割り当てサイズは、pwBufferLength パラメーターが指す値以上でなければなりません。

戻り値

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

vtbl 7 HRESULT GetSharedEmmMessage(WORD* pwLength, BYTE** ppbMessage)

Integrated Services Digital Broadcasting (ISDB) の entitlement management message (EMM) テーブルから共有メッセージを取得します。

pwLengthWORD*inoutメッセージを保持するために必要なバッファーの長さを受け取ります。
ppbMessageBYTE**inout共有メッセージオブジェクトを受け取るために割り当てられたメモリブロックへのポインター。 このメモリの解放は呼び出し側の責任です。

戻り値

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

vtbl 8 HRESULT GetIndividualEmmMessage(IUnknown* pUnknown, WORD* pwLength, BYTE** ppbMessage)

Integrated Services Digital Broadcasting (ISDB) の entitlement management message (EMM) テーブルから個別メッセージを取得します。

pUnknownIUnknown*inEMM テーブルを含むオブジェクトの IUnknown インターフェイスへのポインター。
pwLengthWORD*inoutメッセージを保持するために必要なバッファーの長さを受け取ります。
ppbMessageBYTE**inoutメッセージオブジェクトを受け取るために割り当てられたメモリブロックへのポインター。 このメモリの解放は呼び出し側の責任です。

戻り値

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

vtbl 9 HRESULT GetVersionHash(DWORD* pdwVersionHash)

この Integrated Services Digital Broadcasting (ISDB) の entitlement management message (EMM) テーブルのインスタンスのハッシュ値を返します。

pdwVersionHashDWORD*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_IISDB_EMM "{0EDB556D-43AD-4938-9668-321B2FFECFD3}"
#usecom global IISDB_EMM IID_IISDB_EMM "{}"
#comfunc global IISDB_EMM_Initialize               3 sptr,sptr
#comfunc global IISDB_EMM_GetVersionNumber         4 var
#comfunc global IISDB_EMM_GetTableIdExtension      5 var
#comfunc global IISDB_EMM_GetDataBytes             6 var,var
#comfunc global IISDB_EMM_GetSharedEmmMessage      7 var,var
#comfunc global IISDB_EMM_GetIndividualEmmMessage  8 sptr,var,var
#comfunc global IISDB_EMM_GetVersionHash           9 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。