MFT_MESSAGE_SET_D3D_MANAGER
DirectX ビデオ アクセラレータ (DXVA) の Direct3D Device Manager を設定またはクリアします。
メッセージ パラメータ
ストリーミングが開始されると、ulParam パラメーターに IUnknown ポインターが含まれます。 MFT では、IDirect3DDeviceManager9 インターフェイス (Direct3D 9 の場合) と IMFDXGIDeviceManager インターフェイス (Direct3D 11 の場合) でこのポインターに対するクエリを実行します。 ストリーミングが停止すると、ulParameter に値 NULL が含まれます。
解説
このメッセージを送信するには、IMFTransform::P rocessMessage を呼び出します。
このメッセージは、ビデオ変換にのみ適用されます。 MFT で MF_SA_D3D_AWARE 属性 (Direct3D 11 の場合は MF_SA_D3D11_AWARE) に TRUE が返されていない限り、クライアントからこのメッセージは送信されません。
このメッセージは、複数の出力を含む MFT に送信しないでください。
実装
MFT がこのメッセージに対応する必要があるのは、MFT でビデオ処理またはデコードに DirectX ビデオ アクセラレータが使用されている場合のみです。
MFT がこのメッセージに対応している場合、IMFTransform::GetAttributes メソッドが実装され、MF_SA_D3D_AWARE 属性 (Direct3D 11 の場合は MF_SA_D3D11_AWARE) に値 TRUE が返されることも必要です。 この属性は、クライアントに対し、ストリーミングの開始前にクライアントが MFT_MESSAGE_SET_D3D_MANAGER メッセージを MFT に送信する必要があることを知らせます。
MFT は、このメッセージに対応していない場合、ProcessMessage から E_NOTIMPL を返す必要があります。 これは、一般的な規則 (MFT はそれが無視する任意のメッセージから S_OK を返すことができる) の例外です。
詳細については、「Direct3D 対応の MFT」を参照してください。
要件
要件 | Value |
---|---|
サポートされている最小のクライアント |
Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2008 [デスクトップ アプリのみ] |
ヘッダー |
|
関連項目