IDXGIFactoryMedia::CreateSwapChainForCompositionSurfaceHandle 方法 (dxgi1_3.h)
为现有 DirectComposition 图柄创建 YUV 交换链。
语法
HRESULT CreateSwapChainForCompositionSurfaceHandle(
[in] IUnknown *pDevice,
[in, optional] HANDLE hSurface,
[in] const DXGI_SWAP_CHAIN_DESC1 *pDesc,
[in, optional] IDXGIOutput *pRestrictToOutput,
[out] IDXGISwapChain1 **ppSwapChain
);
参数
[in] pDevice
指向交换链的 Direct3D 设备的指针。 此参数不能为 NULL。 组合交换链不支持 软件驱动程序(如 D3D_DRIVER_TYPE_REFERENCE)。
[in, optional] hSurface
现有 DirectComposition 图面的句柄。 此参数不能为 NULL。
[in] pDesc
指向交换链说明 DXGI_SWAP_CHAIN_DESC1 结构的指针。 此参数不能为 NULL。
[in, optional] pRestrictToOutput
指向要限制内容的交换链 的 IDXGIOutput 接口的指针。 如果将交换链移动到其他输出,则内容为黑色。 可以选择将此参数设置为使用 DXGI_PRESENT_RESTRICT_TO_OUTPUT 限制此输出上的内容的输出目标。 如果将交换链移动到其他输出,则内容为黑色。
还必须在当前调用中传递 DXGI_PRESENT_RESTRICT_TO_OUTPUT 标志,以强制内容在任何其他输出上显示为黑屏。 如果要将内容限制为不同的输出,则必须创建新的交换链。 但是,可以根据 DXGI_PRESENT_RESTRICT_TO_OUTPUT 标志有条件地限制内容。
如果不想将内容限制为输出目标,请将此参数设置为 NULL 。
[out] ppSwapChain
指向变量的指针,该变量接收指向此方法创建的交换链的 IDXGISwapChain1 接口的指针。
返回值
CreateSwapChainForCompositionSurfaceHandle 返回:
- 如果成功创建了交换链,S_OK。
- 如果内存不可用,则E_OUTOFMEMORY以完成操作。
- DXGI_ERROR_INVALID_CALL 调用应用程序是否提供无效数据,例如,如果 pDesc、 pYuvDecodeBuffers 或 ppSwapChain 为 NULL。
- 可能是 DXGI_ERROR 主题中描述的其他错误代码,这些错误代码由传递给 pDevice 的设备类型定义。
要求
最低受支持的客户端 | Windows 8.1 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | dxgi1_3.h |
Library | Dxgi.lib |