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

IESLicenseRenewalResultEvent

COM
IIDd5a48ef5-a81b-4df0-acaa-5e35e7ea45d4継承元IESEvent自前メソッド開始 vtbl8

公式ドキュメント

LicenseRenewalResult イベントから情報を取得するメソッドを実装します。

解説(Remarks)

このインターフェースのインターフェース識別子 (IID) を宣言するには、__uuidof 演算子を使用します: __uuidof(IESLicenseRenewalResultEvent)

メソッド 11

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

vtbl 8 HRESULT GetCallersId(DWORD* pdwCallersId)

呼び出し元を識別する一意の識別子を LicenseRenewalResult イベントから取得します。

pdwCallersIdDWORD*out呼び出し元の識別子を受け取ります。

戻り値

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

vtbl 9 HRESULT GetFileName(LPWSTR* pbstrFilename)

更新するライセンスのファイル名を LicenseRenewalResult イベントから取得します。

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

戻り値

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

vtbl 10 HRESULT IsRenewalSuccessful(BOOL* pfRenewalSuccessful)

更新が成功したかどうかを示すフラグを LicenseRenewalResult イベントから取得します。失敗した場合、クライアントは GetRenewalResultCode メソッドまたは GetRenewalHResult メソッドを呼び出して、失敗の理由に関する情報を取得できます。

pfRenewalSuccessfulBOOL*out更新成功フラグを受け取ります。1 は成功を、0 は失敗を示します。

戻り値

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

vtbl 11 HRESULT IsCheckEntitlementCallRequired(BOOL* pfCheckEntTokenCallNeeded)

クライアントがライセンスの entitlement token を確認する必要があるかどうかを示すフラグを LicenseRenewalResult イベントから取得します。クライアントは IBDA_ConditionalAccessEx::CheckEntitlementToken メソッドを呼び出して entitlement token を検証できます。

pfCheckEntTokenCallNeededBOOL*outentitlement token の確認フラグを受け取ります。1 は確認が必要であること、0 は確認が不要であることを示します。

戻り値

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

vtbl 12 HRESULT GetDescrambledStatus(DWORD* pDescrambledStatus)

保護されたコンテンツのデスクランブルの試行結果を示すコードを LicenseRenewalResult イベントから取得します。

pDescrambledStatusDWORD*out

デスクランブルの状態を示すステータスコードを受け取ります。

意味
0x00000000
無料放送コンテンツ (非保護)。
0x00000001
デスクランブル可能。
0x80010000
デスクランブル不可 (技術的理由、その他)。
0x80010001
(技術的理由による不可) ファームウェアのアップグレードが必要。
0x80010002
(技術的理由による不可) 内部エラー。
0x80010003
(技術的理由による不可) 初期化中/準備未完了。
0x80010004
(技術的理由による不可) セットアップが必要。
0x80010005
(技術的理由による不可) アクセスカードがありません。
0x80010006
(技術的理由による不可) アクセスカードの障害。
0x80010007
(技術的理由による不可) アクセスカードが不正です。
0x80010008
(技術的理由による不可) アクセスカードが正しくありません。
0x80010009
(技術的理由による不可) アクセスカードの有効期限が切れています。
0x8001000A
(技術的理由による不可) リソース不足 (例: ストリームが多すぎる)。
0x8001000B
(技術的理由による不可) 購入期間内ではありません。
0x8001000C
(技術的理由による不可) 購入期間内ではありません (期間前)。
0x8001000D
(技術的理由による不可) 購入期間内ではありません (期間後)。
0x80020000
デスクランブル不可 (受信権限なし、その他)。
0x80020001
(受信権限なし) アクセスカードが認可されていません。
0x80020002
(受信権限なし) サービスが認可されていません。
0x80020003
(受信権限なし) サービスの有効期限が切れています。
0x80020004
(受信権限なし) アカウントが認可されていません。
0x80020005
(受信権限なし) アカウントの有効期限が切れています。
0x80020006
(受信権限なし) サービスがブラックアウトされています。
0x80020007
(受信権限なし) 購入が必要です。
0x80020008
(受信権限なし) クレジットが不足しています。
0x80020009
(受信権限なし) 購入がキャンセルされました。
0x8002000A
(受信権限なし) 更新の受信権限の有効期限が切れています。
0x8002000B
(受信権限なし) 番組が利用できません。
0x8002000C
(受信権限なし) 次回放送予定。

戻り値

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

vtbl 13 HRESULT GetRenewalResultCode(DWORD* pdwRenewalResultCode)

更新プロセスのどのステップで更新が成功または失敗したかを示す定数を、Protected Broadcast Driver Architecture (PBDA) の LicenseRenewalResult イベントから取得します。

pdwRenewalResultCodeDWORD*out

結果コードを受け取ります。結果コードは失敗したライセンス更新のステップを示し、次のいずれかの値になります。

意味
LBE_RenewalStage_Invalid
受信したライセンスが無効でした。
LRE_RenewalStage_RenewalFailed
更新の試行が失敗しました。
LRE_RenewalStage_CheckForRenewableLicense
更新可能なライセンスの確認中に更新の試行が失敗しました。
LRE_RenewalStage_RenewLicenseAtTuner
チューナーで更新の試行が失敗しました。
LRE_RenewalStage_StoreLicenseInDRM
ライセンスの保存中に更新の試行が失敗しました。
LRE_RenewalStage_RenewalSuccessful
ライセンスの更新が成功しました。

戻り値

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

vtbl 14 HRESULT GetCASFailureCode(DWORD* pdwCASFailureCode)

conditional access system (CAS) での失敗の理由を示すコードを LicenseRenewalResult イベントから取得します。

pdwCASFailureCodeDWORD*outCAS の失敗コードを受け取ります。このコードは、使用される CAS によって定義されます。

戻り値

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

vtbl 15 HRESULT GetRenewalHResult(HRESULT* phr)

更新プロセス中に COM インターフェースメソッドの呼び出しによって返される最終的な HRESULT 値を、LicenseRenewalResult イベントから取得します。

phrHRESULT*outHRESULT 値を受け取ります。

戻り値

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

vtbl 16 HRESULT GetEntitlementTokenLength(DWORD* pdwLength)

保護コンテンツライセンス内の entitlement token の長さを LicenseRenewalResult イベントから取得します。

pdwLengthDWORD*outentitlement token の長さをバイト単位で受け取ります。

戻り値

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

vtbl 17 HRESULT GetEntitlementToken(SAFEARRAY** pbData)

保護コンテンツライセンス内の entitlement token を LicenseRenewalResult イベントから取得します。クライアントは GetEntitlementTokenLength メソッドを呼び出して、このバッファーから読み取るバイト数を取得できます。

pbDataSAFEARRAY**outentitlement token を受け取るバッファーへのポインター。

戻り値

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

vtbl 18 HRESULT GetExpiryDate(ULONGLONG* pqwExpiryDate)

更新された保護コンテンツライセンスの有効期限を LicenseRenewalResult イベントから取得します。

pqwExpiryDateULONGLONG*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_IESLicenseRenewalResultEvent "{D5A48EF5-A81B-4DF0-ACAA-5E35E7EA45D4}"
#usecom global IESLicenseRenewalResultEvent IID_IESLicenseRenewalResultEvent "{}"
#comfunc global IESLicenseRenewalResultEvent_GetCallersId                    8 var
#comfunc global IESLicenseRenewalResultEvent_GetFileName                     9 var
#comfunc global IESLicenseRenewalResultEvent_IsRenewalSuccessful             10 var
#comfunc global IESLicenseRenewalResultEvent_IsCheckEntitlementCallRequired  11 var
#comfunc global IESLicenseRenewalResultEvent_GetDescrambledStatus            12 var
#comfunc global IESLicenseRenewalResultEvent_GetRenewalResultCode            13 var
#comfunc global IESLicenseRenewalResultEvent_GetCASFailureCode               14 var
#comfunc global IESLicenseRenewalResultEvent_GetRenewalHResult               15 var
#comfunc global IESLicenseRenewalResultEvent_GetEntitlementTokenLength       16 var
#comfunc global IESLicenseRenewalResultEvent_GetEntitlementToken             17 var
#comfunc global IESLicenseRenewalResultEvent_GetExpiryDate                   18 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。