IDXGIFactoryMedia::CreateSwapChainForCompositionSurfaceHandle method
Creates a YUV swap chain for an existing DirectComposition surface handle.
Syntax
HRESULT CreateSwapChainForCompositionSurfaceHandle( [in] IUnknown *pDevice, [in, optional] HANDLE hSurface, [in] const DXGI_SWAP_CHAIN_DESC1 *pDesc, [in, optional] IDXGIOutput *pRestrictToOutput, [out] IDXGISwapChain1 **ppSwapChain );
Parameters
- pDevice [in]
-
A pointer to the Direct3D device for the swap chain. This parameter cannot be NULL. Software drivers, like D3D_DRIVER_TYPE_REFERENCE, are not supported for composition swap chains.
- hSurface [in, optional]
-
A handle to an existing DirectComposition surface. This parameter cannot be NULL.
- pDesc [in]
-
A pointer to a DXGI_SWAP_CHAIN_DESC1 structure for the swap-chain description. This parameter cannot be NULL.
- pRestrictToOutput [in, optional]
-
A pointer to the IDXGIOutput interface for the swap chain to restrict content to. If the swap chain is moved to a different output, the content is black. You can optionally set this parameter to an output target that uses DXGI_PRESENT_RESTRICT_TO_OUTPUT to restrict the content on this output. If the swap chain is moved to a different output, the content is black.
You must also pass the DXGI_PRESENT_RESTRICT_TO_OUTPUT flag in a present call to force the content to appear blacked out on any other output. If you want to restrict the content to a different output, you must create a new swap chain. However, you can conditionally restrict content based on the DXGI_PRESENT_RESTRICT_TO_OUTPUT flag.
Set this parameter to NULL if you don't want to restrict content to an output target.
- ppSwapChain [out]
-
A pointer to a variable that receives a pointer to the IDXGISwapChain1 interface for the swap chain that this method creates.
Return value
CreateSwapChainForCompositionSurfaceHandle returns:
- S_OK if it successfully created a swap chain.
- E_OUTOFMEMORY if memory is unavailable to complete the operation.
- DXGI_ERROR_INVALID_CALL if the calling application provided invalid data, for example, if pDesc, pYuvDecodeBuffers, or ppSwapChain is NULL.
- Possibly other error codes that are described in the DXGI_ERROR topic that are defined by the type of device that you pass to pDevice.
Requirements
|
Minimum supported client |
Windows 8.1 [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2012 R2 [desktop apps only] |
|
Header |
|
|
Library |
|
See also