Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Crea una cadena de intercambio YUV para un identificador de superficie DirectComposition existente. La cadena de intercambio se crea con búferes preexistentes y se requieren muy pocos elementos descriptivos. En su lugar, este método requiere un identificador de superficie DirectComposition y un búfer IDXGIResource para contener datos de fotogramas descodificados. El formato de la cadena de intercambio viene determinado por el formato de los subrecursos de IDXGIResource.
Sintaxis
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
);
Parámetros
[in] pDevice
Puntero al dispositivo Direct3D para la cadena de intercambio. Este parámetro no puede ser NULL. Los controladores de software, como D3D_DRIVER_TYPE_REFERENCE, no se admiten para las cadenas de intercambio de composición.
[in, optional] hSurface
Identificador de una superficie DirectComposition existente. Este parámetro no puede ser NULL.
[in] pDesc
Puntero a una estructura de DXGI_DECODE_SWAP_CHAIN_DESC para la descripción de la cadena de intercambio. Este parámetro no puede ser NULL.
[in] pYuvDecodeBuffers
Puntero a una interfaz IDXGIResource que representa el recurso que contiene la información que descodifica CreateDecodeSwapChainForCompositionSurfaceHandle .
[in, optional] pRestrictToOutput
Puntero a la interfaz IDXGIOutput de la cadena de intercambio a la que restringir el contenido. Si la cadena de intercambio se mueve a una salida diferente, el contenido es negro. Opcionalmente, puede establecer este parámetro en un destino de salida que use DXGI_PRESENT_RESTRICT_TO_OUTPUT para restringir el contenido de esta salida. Si la cadena de intercambio se mueve a una salida diferente, el contenido es negro.
También debe pasar la marca DXGI_PRESENT_RESTRICT_TO_OUTPUT en una llamada presente para forzar que el contenido aparezca en negro en cualquier otra salida. Si desea restringir el contenido a una salida diferente, debe crear una nueva cadena de intercambio. Sin embargo, puede restringir condicionalmente el contenido en función de la marca DXGI_PRESENT_RESTRICT_TO_OUTPUT .
Establezca este parámetro en NULL si no desea restringir el contenido a un destino de salida.
[out] ppSwapChain
Puntero a una variable que recibe un puntero a la interfaz IDXGIDecodeSwapChain de la cadena de intercambio que crea este método.
Valor devuelto
CreateDecodeSwapChainForCompositionSurfaceHandle devuelve:
- S_OK si creó correctamente una cadena de intercambio.
- E_OUTOFMEMORY si la memoria no está disponible para completar la operación.
- DXGI_ERROR_INVALID_CALL si la aplicación que realiza la llamada proporcionó datos no válidos, por ejemplo, si pDesc, pYuvDecodeBuffers o ppSwapChain es NULL.
- Posiblemente otros códigos de error que se describen en el tema DXGI_ERROR definidos por el tipo de dispositivo que se pasa a pDevice.
Comentarios
El idXGIResource proporcionado a través del parámetro pYuvDecodeBuffers debe apuntar al menos a un subrecurso y todos los subrecursos deben crearse con la marca D3D11_BIND_DECODER .
Requisitos
Cliente mínimo compatible | Windows 8.1 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2012 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | dxgi1_3.h |
Library | Dxgi.lib |