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

IWMDRMReader2

COM
IIDbefe7a75-9f1d-4075-b9d9-a3c37bda49a0継承元IWMDRMReader自前メソッド開始 vtbl11

メソッド 4

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

vtbl 11 HRESULT SetEvaluateOutputLevelLicenses(BOOL fEvaluate)
fEvaluateBOOLin出力保護レベル(OPL)のライセンス評価を行うかを指定する。TRUEで評価する。
vtbl 12 HRESULT GetPlayOutputLevels(DRM_PLAY_OPL* pPlayOPL, DWORD* pcbLength, DWORD* pdwMinAppComplianceLevel)
pPlayOPLDRM_PLAY_OPL*out再生時の出力保護レベルを受け取るDRM_PLAY_OPL構造体へのポインタである。
pcbLengthDWORD*inoutバッファサイズを入力し実際のバイト数を受け取る入出力ポインタである。
pdwMinAppComplianceLevelDWORD*out要求される最小アプリ準拠レベルを受け取る出力先である。
vtbl 13 HRESULT GetCopyOutputLevels(DRM_COPY_OPL* pCopyOPL, DWORD* pcbLength, DWORD* pdwMinAppComplianceLevel)
pCopyOPLDRM_COPY_OPL*outコピー時の出力保護レベルを受け取るDRM_COPY_OPL構造体へのポインタである。
pcbLengthDWORD*inoutバッファサイズを入力し実際のバイト数を受け取る入出力ポインタである。
pdwMinAppComplianceLevelDWORD*out要求される最小アプリ準拠レベルを受け取る出力先である。
vtbl 14 HRESULT TryNextLicense()

HSP用 COM定義

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

出力引数:
#define global IID_IWMDRMReader2 "{BEFE7A75-9F1D-4075-B9D9-A3C37BDA49A0}"
#usecom global IWMDRMReader2 IID_IWMDRMReader2 "{}"
#comfunc global IWMDRMReader2_SetEvaluateOutputLevelLicenses  11 int
#comfunc global IWMDRMReader2_GetPlayOutputLevels             12 var,var,var
#comfunc global IWMDRMReader2_GetCopyOutputLevels             13 var,var,var
#comfunc global IWMDRMReader2_TryNextLicense                  14
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。