IESLicenseRenewalResultEvent
COM公式ドキュメント
LicenseRenewalResult イベントから情報を取得するメソッドを実装します。
解説(Remarks)
このインターフェースのインターフェース識別子 (IID) を宣言するには、__uuidof 演算子を使用します: __uuidof(IESLicenseRenewalResultEvent)。
メソッド 11
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
呼び出し元を識別する一意の識別子を LicenseRenewalResult イベントから取得します。
| pdwCallersId | DWORD* | out | 呼び出し元の識別子を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
更新するライセンスのファイル名を LicenseRenewalResult イベントから取得します。
| pbstrFilename | LPWSTR* | out | ファイル名を受け取るバッファーへのポインター。このメモリを解放する責任は呼び出し元にあります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
更新が成功したかどうかを示すフラグを LicenseRenewalResult イベントから取得します。失敗した場合、クライアントは GetRenewalResultCode メソッドまたは GetRenewalHResult メソッドを呼び出して、失敗の理由に関する情報を取得できます。
| pfRenewalSuccessful | BOOL* | out | 更新成功フラグを受け取ります。1 は成功を、0 は失敗を示します。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
クライアントがライセンスの entitlement token を確認する必要があるかどうかを示すフラグを LicenseRenewalResult イベントから取得します。クライアントは IBDA_ConditionalAccessEx::CheckEntitlementToken メソッドを呼び出して entitlement token を検証できます。
| pfCheckEntTokenCallNeeded | BOOL* | out | entitlement token の確認フラグを受け取ります。1 は確認が必要であること、0 は確認が不要であることを示します。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
保護されたコンテンツのデスクランブルの試行結果を示すコードを LicenseRenewalResult イベントから取得します。
| pDescrambledStatus | DWORD* | out | デスクランブルの状態を示すステータスコードを受け取ります。
|
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
更新プロセスのどのステップで更新が成功または失敗したかを示す定数を、Protected Broadcast Driver Architecture (PBDA) の LicenseRenewalResult イベントから取得します。
| pdwRenewalResultCode | DWORD* | out | 結果コードを受け取ります。結果コードは失敗したライセンス更新のステップを示し、次のいずれかの値になります。
|
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
conditional access system (CAS) での失敗の理由を示すコードを LicenseRenewalResult イベントから取得します。
| pdwCASFailureCode | DWORD* | out | CAS の失敗コードを受け取ります。このコードは、使用される CAS によって定義されます。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
更新プロセス中に COM インターフェースメソッドの呼び出しによって返される最終的な HRESULT 値を、LicenseRenewalResult イベントから取得します。
| phr | HRESULT* | out | HRESULT 値を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
保護コンテンツライセンス内の entitlement token の長さを LicenseRenewalResult イベントから取得します。
| pdwLength | DWORD* | out | entitlement token の長さをバイト単位で受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
保護コンテンツライセンス内の entitlement token を LicenseRenewalResult イベントから取得します。クライアントは GetEntitlementTokenLength メソッドを呼び出して、このバッファーから読み取るバイト数を取得できます。
| pbData | SAFEARRAY** | out | entitlement token を受け取るバッファーへのポインター。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
更新された保護コンテンツライセンスの有効期限を LicenseRenewalResult イベントから取得します。
| pqwExpiryDate | ULONGLONG* | out | 有効期限を、エポックからの経過秒数で受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
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 方式にも切替可。#define global IID_IESLicenseRenewalResultEvent "{D5A48EF5-A81B-4DF0-ACAA-5E35E7EA45D4}" #usecom global IESLicenseRenewalResultEvent IID_IESLicenseRenewalResultEvent "{}" #comfunc global IESLicenseRenewalResultEvent_GetCallersId 8 sptr #comfunc global IESLicenseRenewalResultEvent_GetFileName 9 sptr #comfunc global IESLicenseRenewalResultEvent_IsRenewalSuccessful 10 sptr #comfunc global IESLicenseRenewalResultEvent_IsCheckEntitlementCallRequired 11 sptr #comfunc global IESLicenseRenewalResultEvent_GetDescrambledStatus 12 sptr #comfunc global IESLicenseRenewalResultEvent_GetRenewalResultCode 13 sptr #comfunc global IESLicenseRenewalResultEvent_GetCASFailureCode 14 sptr #comfunc global IESLicenseRenewalResultEvent_GetRenewalHResult 15 sptr #comfunc global IESLicenseRenewalResultEvent_GetEntitlementTokenLength 16 sptr #comfunc global IESLicenseRenewalResultEvent_GetEntitlementToken 17 sptr #comfunc global IESLicenseRenewalResultEvent_GetExpiryDate 18 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。