IWMPVideoRenderConfig
COM公式ドキュメント
IWMPVideoRenderConfig インターフェイスは、Windows Media Player が使用する拡張ビデオ レンダラー (EVR) を構成するためのメソッドを提供します。
メソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
put_presenterActivate メソッドは、カスタム ビデオ プレゼンター用のアクティベーション オブジェクトを Windows Media Player に提供します。
| pActivate | IMFActivate* | in | Windows Media Player または別の Windows コンポーネントがカスタム ビデオ プレゼンターをアクティブ化するために使用する IMFActivate インターフェイスへのポインター。 |
戻り値
このメソッドは HRESULT を返します。使用可能な値には次の表に示すものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
特定の状況では、Windows Media Player は拡張ビデオ レンダラー (EVR) を含むビデオ パイプラインを使用します。EVR はシステム コンポーネントであり、ビデオの合成やビデオの表示などのタスクを実行するカスタム プラグインを他のコンポーネントやアプリケーションが提供できるようにします。
Windows Media Player を埋め込むアプリケーションは、put_presenterActivate を呼び出すことで EVR にカスタム ビデオ プレゼンターを提供できます。アプリケーションは、IMFActivate インターフェイスを実装する独自のアクティベーション オブジェクトを作成する必要があります。アプリケーションは、そのインターフェイスを pActivate パラメーターで Windows Media Player に提供します。Windows Media Player または別のシステム コンポーネントがカスタム プレゼンターのインスタンスを作成する必要がある場合、アプリケーションが提供する IMFActivate インターフェイスの ActivateObject メソッドを呼び出します。
アクティベーション オブジェクトは、カスタム プレゼンターの初期化を担当します。初期化の性質、および初期化に必要なコンテキスト データの形式は、カスタム プレゼンターとアクティベーション オブジェクトを開発する者が完全に制御します。
EVR、カスタム プレゼンター、アクティベーション オブジェクト、および IMFActivate インターフェイスは、Microsoft Windows SDK の一部である Microsoft Media Foundation SDK に記載されています。
Windows Media Player 10 Mobile: このメソッドはサポートされていません。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IWMPVideoRenderConfig "{6D6CF803-1EC0-4C8D-B3CA-F18E27282074}"
#usecom global IWMPVideoRenderConfig IID_IWMPVideoRenderConfig "{}"
#comfunc global IWMPVideoRenderConfig_put_presenterActivate 3 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。