次の方法で共有


IDXGIFactoryMedia::CreateDecodeSwapChainForCompositionSurfaceHandle メソッド (dxgi1_3.h)

既存の DirectComposition サーフェス ハンドルの YUV スワップ チェーンを作成します。 スワップ チェーンは既存のバッファーを使用して作成され、記述要素はほとんど必要ありません。 代わりに、このメソッドでは、デコードされたフレーム データを保持するために DirectComposition サーフェス ハンドルと IDXGIResource バッファーが必要です。 スワップ チェーンの形式は、 IDXGIResource のサブリソースの形式によって決まります。

構文

HRESULT CreateDecodeSwapChainForCompositionSurfaceHandle(
  [in]           IUnknown                    *pDevice,
  [in, optional] HANDLE                      hSurface,
  [in]           DXGI_DECODE_SWAP_CHAIN_DESC *pDesc,
  [in]           IDXGIResource               *pYuvDecodeBuffers,
  [in, optional] IDXGIOutput                 *pRestrictToOutput,
  [out]          IDXGIDecodeSwapChain        **ppSwapChain
);

パラメーター

[in] pDevice

スワップ チェーンの Direct3D デバイスへのポインター。 このパラメーターを NULL にすることはできません。 D3D_DRIVER_TYPE_REFERENCEなどのソフトウェア ドライバーは、コンポジション スワップ チェーンではサポートされていません。

[in, optional] hSurface

既存の DirectComposition サーフェスへのハンドル。 このパラメーターを NULL にすることはできません。

[in] pDesc

スワップ チェーン記述の DXGI_DECODE_SWAP_CHAIN_DESC 構造体へのポインター。 このパラメーターを NULL にすることはできません。

[in] pYuvDecodeBuffers

CreateDecodeSwapChainForCompositionSurfaceHandle がデコードする情報を含むリソースを表す IDXGIResource インターフェイスへのポインター。

[in, optional] pRestrictToOutput

コンテンツを制限するスワップ チェーンの IDXGIOutput インターフェイスへのポインター。 スワップ チェーンを別の出力に移動すると、コンテンツは黒になります。 必要に応じて、このパラメーターを、 DXGI_PRESENT_RESTRICT_TO_OUTPUT を使用してこの出力のコンテンツを制限する出力ターゲットに設定できます。 スワップ チェーンを別の出力に移動すると、コンテンツは黒になります。

また、現在の呼び出しで DXGI_PRESENT_RESTRICT_TO_OUTPUT フラグを渡して、他の出力でコンテンツが強制的に黒く表示されるようにする必要があります。 コンテンツを別の出力に制限する場合は、新しいスワップ チェーンを作成する必要があります。 ただし、 DXGI_PRESENT_RESTRICT_TO_OUTPUT フラグに基づいてコンテンツを条件付きで制限することはできます。

コンテンツを出力ターゲットに制限しない場合は、このパラメーターを NULL に設定します。

[out] ppSwapChain

このメソッドが作成するスワップ チェーンの IDXGIDecodeSwapChain インターフェイスへのポインターを受け取る変数へのポインター。

戻り値

CreateDecodeSwapChainForCompositionSurfaceHandle は次を返します。

  • スワップ チェーンが正常に作成された場合は、S_OKします。
  • 操作を完了するためにメモリが使用できない場合は、E_OUTOFMEMORYします。
  • び出し元のアプリケーションが無効なデータを提供した場合にDXGI_ERROR_INVALID_CALLします 。たとえば、 pDescpYuvDecodeBuffersppSwapChainNULL の場合です。
  • pDevice に渡すデバイスの種類によって定義されている、DXGI_ERRORトピックで説明されているその他のエラー コードが考えられます。

解説

pYuvDecodeBuffers パラメーターを介して提供される IDXGIResource は、少なくとも 1 つのサブリソースを指す必要があり、すべてのサブリソースは D3D11_BIND_DECODER フラグを使用して作成する必要があります。

要件

   
サポートされている最小のクライアント Windows 8.1 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー dxgi1_3.h
Library Dxgi.lib

関連項目

IDXGIFactoryMedia