Método IDXGIFactoryMedia::CreateSwapChainForCompositionSurfaceHandle (dxgi1_3.h)
Cria uma cadeia de troca yuv para um identificador de superfície DirectComposition existente.
Sintaxe
HRESULT CreateSwapChainForCompositionSurfaceHandle(
[in] IUnknown *pDevice,
[in, optional] HANDLE hSurface,
[in] const DXGI_SWAP_CHAIN_DESC1 *pDesc,
[in, optional] IDXGIOutput *pRestrictToOutput,
[out] IDXGISwapChain1 **ppSwapChain
);
Parâmetros
[in] pDevice
Um ponteiro para o dispositivo Direct3D para a cadeia de troca. Esse parâmetro não pode ser NULL. Drivers de software, como D3D_DRIVER_TYPE_REFERENCE, não têm suporte para cadeias de troca de composição.
[in, optional] hSurface
Um identificador para uma superfície DirectComposition existente. Esse parâmetro não pode ser NULL.
[in] pDesc
Um ponteiro para uma estrutura DXGI_SWAP_CHAIN_DESC1 para a descrição da cadeia de troca. Esse parâmetro não pode ser NULL.
[in, optional] pRestrictToOutput
Um ponteiro para a interface IDXGIOutput para a cadeia de troca à qual restringir o conteúdo. Se a cadeia de troca for movida para uma saída diferente, o conteúdo será preto. Opcionalmente, você pode definir esse parâmetro como um destino de saída que usa DXGI_PRESENT_RESTRICT_TO_OUTPUT para restringir o conteúdo nessa saída. Se a cadeia de troca for movida para uma saída diferente, o conteúdo será preto.
Você também deve passar o sinalizador DXGI_PRESENT_RESTRICT_TO_OUTPUT em uma chamada atual para forçar o conteúdo a aparecer apagado em qualquer outra saída. Se você quiser restringir o conteúdo a uma saída diferente, deverá criar uma nova cadeia de troca. No entanto, você pode restringir condicionalmente o conteúdo com base no sinalizador DXGI_PRESENT_RESTRICT_TO_OUTPUT .
Defina esse parâmetro como NULL se você não quiser restringir o conteúdo a um destino de saída.
[out] ppSwapChain
Um ponteiro para uma variável que recebe um ponteiro para a interface IDXGISwapChain1 para a cadeia de troca que esse método cria.
Valor retornado
CreateSwapChainForCompositionSurfaceHandle retorna:
- S_OK se ele criou com êxito uma cadeia de troca.
- E_OUTOFMEMORY se a memória não estiver disponível para concluir a operação.
- DXGI_ERROR_INVALID_CALL se o aplicativo de chamada forneceu dados inválidos, por exemplo, se pDesc, pYuvDecodeBuffers ou ppSwapChain for NULL.
- Possivelmente outros códigos de erro descritos no tópico DXGI_ERROR que são definidos pelo tipo de dispositivo que você passa para pDevice.
Requisitos
Cliente mínimo com suporte | Windows 8.1 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | dxgi1_3.h |
Biblioteca | Dxgi.lib |