ホーム › Media.MediaFoundation › IMFMediaKeys2
IMFMediaKeys2
COMメソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 7 HRESULT CreateSession2(MF_MEDIAKEYSESSION_TYPE eSessionType, IMFMediaKeySessionNotify2* pMFMediaKeySessionNotify2, IMFMediaKeySession2** ppSession)
| eSessionType | MF_MEDIAKEYSESSION_TYPE | in | 一時/永続等のセッション種別を示すMF_MEDIAKEYSESSION_TYPE列挙値。 |
| pMFMediaKeySessionNotify2 | IMFMediaKeySessionNotify2* | in | セッションの通知を受け取るコールバックIMFMediaKeySessionNotify2。 |
| ppSession | IMFMediaKeySession2** | out | 生成されたキーセッションIMFMediaKeySession2を受け取る格納先。 |
| pbServerCertificate | BYTE* | inoptional | ライセンスサーバの証明書データを指すBYTEバッファへのポインタ。 |
| cb | DWORD | in | 証明書データのバイト数。 |
| systemCode | HRESULT | in | 変換元となるシステムエラーコード(HRESULT)。 |
| code | HRESULT* | out | 対応するDOM例外コードを受け取るHRESULTへのポインタ。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IMFMediaKeys2 "{45892507-AD66-4DE2-83A2-ACBB13CD8D43}" #usecom global IMFMediaKeys2 IID_IMFMediaKeys2 "{}" #comfunc global IMFMediaKeys2_CreateSession2 7 int,sptr,sptr #comfunc global IMFMediaKeys2_SetServerCertificate 8 var,int #comfunc global IMFMediaKeys2_GetDOMException 9 int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IMFMediaKeys2 "{45892507-AD66-4DE2-83A2-ACBB13CD8D43}" #usecom global IMFMediaKeys2 IID_IMFMediaKeys2 "{}" #comfunc global IMFMediaKeys2_CreateSession2 7 int,sptr,sptr #comfunc global IMFMediaKeys2_SetServerCertificate 8 sptr,int #comfunc global IMFMediaKeys2_GetDOMException 9 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。