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

IBDA_ConditionalAccessEx

COM
IID497c3418-23cb-44ba-bb62-769f506fcea7継承元IUnknown自前メソッド開始 vtbl3

メソッド 5

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

vtbl 3 HRESULT CheckEntitlementToken(DWORD ulDialogRequest, LPWSTR bstrLanguage, BDA_CONDITIONALACCESS_REQUESTTYPE RequestType, DWORD ulcbEntitlementTokenLen, BYTE* pbEntitlementToken, DWORD* pulDescrambleStatus)
ulDialogRequestDWORDin操作を対応付けるダイアログ要求番号を指定する。
bstrLanguageLPWSTRinUI表示等に使用する言語を指定する文字列(BSTR)。
RequestTypeBDA_CONDITIONALACCESS_REQUESTTYPEin視聴権限要求の種別を示すBDA_CONDITIONALACCESS_REQUESTTYPE列挙体。
ulcbEntitlementTokenLenDWORDinpbEntitlementTokenが指すトークンの長さをバイト単位で指定する。
pbEntitlementTokenBYTE*in検証する視聴権限トークンのバイト列を指すBYTEポインタ。
pulDescrambleStatusDWORD*outデスクランブル可否の判定結果を受け取るDWORDへのポインタ。
vtbl 4 HRESULT SetCaptureToken(DWORD ulcbCaptureTokenLen, BYTE* pbCaptureToken)
ulcbCaptureTokenLenDWORDinpbCaptureTokenが指すトークンの長さをバイト単位で指定する。
pbCaptureTokenBYTE*in設定するキャプチャトークンのバイト列を指すBYTEポインタ。
vtbl 5 HRESULT OpenBroadcastMmi(DWORD ulDialogRequest, LPWSTR bstrLanguage, DWORD EventId)
ulDialogRequestDWORDin操作を対応付けるダイアログ要求番号を指定する。
bstrLanguageLPWSTRinMMI表示に使用する言語を指定する文字列(BSTR)。
EventIdDWORDin開く放送MMI(マン・マシンインターフェース)のイベントIDを指定する。
vtbl 6 HRESULT CloseMmiDialog(DWORD ulDialogRequest, LPWSTR bstrLanguage, DWORD ulDialogNumber, BDA_CONDITIONALACCESS_MMICLOSEREASON ReasonCode, DWORD* pulSessionResult)
ulDialogRequestDWORDin操作を対応付けるダイアログ要求番号を指定する。
bstrLanguageLPWSTRin言語を指定する文字列(BSTR)。
ulDialogNumberDWORDin閉じる対象のMMIダイアログ番号を指定する。
ReasonCodeBDA_CONDITIONALACCESS_MMICLOSEREASONinダイアログを閉じる理由を示すBDA_CONDITIONALACCESS_MMICLOSEREASON列挙体。
pulSessionResultDWORD*outセッションの処理結果を受け取るDWORDへのポインタ。
vtbl 7 HRESULT CreateDialogRequestNumber(DWORD* pulDialogRequestNumber)
pulDialogRequestNumberDWORD*out新規に生成した一意なダイアログ要求番号を受け取るDWORDへのポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IBDA_ConditionalAccessEx "{497C3418-23CB-44BA-BB62-769F506FCEA7}"
#usecom global IBDA_ConditionalAccessEx IID_IBDA_ConditionalAccessEx "{}"
#comfunc global IBDA_ConditionalAccessEx_CheckEntitlementToken      3 int,wstr,int,int,var,var
#comfunc global IBDA_ConditionalAccessEx_SetCaptureToken            4 int,var
#comfunc global IBDA_ConditionalAccessEx_OpenBroadcastMmi           5 int,wstr,int
#comfunc global IBDA_ConditionalAccessEx_CloseMmiDialog             6 int,wstr,int,int,var
#comfunc global IBDA_ConditionalAccessEx_CreateDialogRequestNumber  7 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。