共用方式為


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

IDXGIResource介面的指標,代表包含CreateDecodeSwapChainForCompositionSurfaceHandle解碼資訊的資源。

[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。
  • 如果 呼叫的應用程式提供不正確資料,例如 ,如果 pDescpYuvDecodeBuffersppSwapChainNull,則DXGI_ERROR_INVALID_CALL。
  • 可能是 DXGI_ERROR主題中所述 的其他錯誤碼,這些錯誤碼是由您傳遞至 pDevice的裝置類型所定義。

備註

透過pYuvDecodeBuffers參數提供的IDXGIResource必須指向至少一個子資源,而且所有子資源都必須使用D3D11_BIND_DECODER旗標來建立。

需求

   
最低支援的用戶端 Windows 8.1 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 R2 [僅限傳統型應用程式]
目標平台 Windows
標頭 dxgi1_3.h
程式庫 Dxgi.lib

另請參閱

IDXGIFactoryMedia