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

IBDA_ConditionalAccess

COM
IIDcd51f1e0-7be9-4123-8482-a2a796c0a6b0継承元IUnknown自前メソッド開始 vtbl3

メソッド 10

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

vtbl 3 HRESULT get_SmartCardStatus(SmartCardStatusType* pCardStatus, SmartCardAssociationType* pCardAssociation, LPWSTR* pbstrCardError, VARIANT_BOOL* pfOOBLocked)
pCardStatusSmartCardStatusType*outスマートカードの状態を示すSmartCardStatusType列挙体へのポインタ。
pCardAssociationSmartCardAssociationType*outカードとホストの関連付け状態を示すSmartCardAssociationType列挙体へのポインタ。
pbstrCardErrorLPWSTR*outカードエラーの説明文字列(BSTR)を受け取る出力ポインタ。
pfOOBLockedVARIANT_BOOL*out帯域外(OOB)チャネルがロック済みか否かを受け取るVARIANT_BOOLへのポインタ。
vtbl 4 HRESULT get_SmartCardInfo(LPWSTR* pbstrCardName, LPWSTR* pbstrCardManufacturer, VARIANT_BOOL* pfDaylightSavings, BYTE* pbyRatingRegion, INT* plTimeZoneOffsetMinutes, LPWSTR* pbstrLanguage, EALocationCodeType* pEALocationCode)
pbstrCardNameLPWSTR*outスマートカード名を受け取る出力文字列(BSTR)ポインタ。
pbstrCardManufacturerLPWSTR*outカード製造元名を受け取る出力文字列(BSTR)ポインタ。
pfDaylightSavingsVARIANT_BOOL*out夏時間が有効か否かを受け取るVARIANT_BOOLへのポインタ。
pbyRatingRegionBYTE*out視聴制限のレーティング地域コードを受け取るBYTEへのポインタ。
plTimeZoneOffsetMinutesINT*outタイムゾーンのUTCオフセットを分単位で受け取るINTへのポインタ。
pbstrLanguageLPWSTR*outカードの言語設定文字列(BSTR)を受け取る出力ポインタ。
pEALocationCodeEALocationCodeType*out緊急警報の位置コードを示すEALocationCodeType構造体へのポインタ。
vtbl 5 HRESULT get_SmartCardApplications(DWORD* pulcApplications, DWORD ulcApplicationsMax, SmartCardApplication* rgApplications)
pulcApplicationsDWORD*inout実際に返されたカードアプリケーション数を受け取るDWORDへのポインタ。
ulcApplicationsMaxDWORDinrgApplications配列に格納可能な最大要素数を指定する。
rgApplicationsSmartCardApplication*inoutカード上のアプリケーション情報を受け取るSmartCardApplication配列へのポインタ。
vtbl 6 HRESULT get_Entitlement(WORD usVirtualChannel, EntitlementType* pEntitlement)
usVirtualChannelWORDin視聴権限を問い合わせる仮想チャンネル番号を指定するWORD。
pEntitlementEntitlementType*out対象チャンネルの視聴権限状態を示すEntitlementType列挙体へのポインタ。
vtbl 7 HRESULT TuneByChannel(WORD usVirtualChannel)
usVirtualChannelWORDin選局する仮想チャンネル番号を指定するWORD。
vtbl 8 HRESULT SetProgram(WORD usProgramNumber)
usProgramNumberWORDinデスクランブル対象として設定するプログラム番号を指定するWORD。
vtbl 9 HRESULT AddProgram(WORD usProgramNumber)
usProgramNumberWORDinデスクランブル対象に追加するプログラム番号を指定するWORD。
vtbl 10 HRESULT RemoveProgram(WORD usProgramNumber)
usProgramNumberWORDinデスクランブル対象から削除するプログラム番号を指定するWORD。
vtbl 11 HRESULT GetModuleUI(BYTE byDialogNumber, LPWSTR* pbstrURL)
byDialogNumberBYTEinUIを取得する対象のダイアログ番号を指定するBYTE。
pbstrURLLPWSTR*out表示するモジュールUIのURL文字列(BSTR)を受け取る出力ポインタ。
vtbl 12 HRESULT InformUIClosed(BYTE byDialogNumber, UICloseReasonType CloseReason)
byDialogNumberBYTEin閉じられたUIのダイアログ番号を指定するBYTE。
CloseReasonUICloseReasonTypeinUIが閉じられた理由を示すUICloseReasonType列挙体。

HSP用 COM定義

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

出力引数:
#define global IID_IBDA_ConditionalAccess "{CD51F1E0-7BE9-4123-8482-A2A796C0A6B0}"
#usecom global IBDA_ConditionalAccess IID_IBDA_ConditionalAccess "{}"
#comfunc global IBDA_ConditionalAccess_get_SmartCardStatus        3 var,var,var,var
#comfunc global IBDA_ConditionalAccess_get_SmartCardInfo          4 var,var,var,var,var,var,var
#comfunc global IBDA_ConditionalAccess_get_SmartCardApplications  5 var,int,var
#comfunc global IBDA_ConditionalAccess_get_Entitlement            6 int,var
#comfunc global IBDA_ConditionalAccess_TuneByChannel              7 int
#comfunc global IBDA_ConditionalAccess_SetProgram                 8 int
#comfunc global IBDA_ConditionalAccess_AddProgram                 9 int
#comfunc global IBDA_ConditionalAccess_RemoveProgram              10 int
#comfunc global IBDA_ConditionalAccess_GetModuleUI                11 int,var
#comfunc global IBDA_ConditionalAccess_InformUIClosed             12 int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。