Método IDXGISwapChain::SetFullscreenState (dxgi.h)
Establece el estado de presentación en ventanas o en pantalla completa.
Sintaxis
HRESULT SetFullscreenState(
BOOL Fullscreen,
IDXGIOutput *pTarget
);
Parámetros
Fullscreen
Tipo: BOOL
Valor booleano que especifica si se va a establecer el estado de presentación en ventanas o en pantalla completa. TRUE para pantalla completa y FALSE para ventanas.
pTarget
Tipo: [in, opcional] IDXGIOutput*
Si pasa TRUE al parámetro Fullscreen para establecer el estado de visualización en pantalla completa, opcionalmente puede establecer este parámetro en un puntero a una interfaz IDXGIOutput para el destino de salida que contiene la cadena de intercambio. Si establece este parámetro en NULL, DXGI elegirá la salida en función del dispositivo de la cadena de intercambio y la ubicación de la ventana de salida. Si pasa FALSE a Fullscreen, debe establecer este parámetro en NULL.
Valor devuelto
Tipo: HRESULT
Este método devuelve uno de estos valores.
- S_OK si la acción se realizó correctamente y la cadena de intercambio se colocó en el estado solicitado.
- DXGI_ERROR_NOT_CURRENTLY_AVAILABLE si se produjo un error en la acción. Cuando se devuelve este error, la aplicación puede seguir ejecutándose en modo con ventanas e intentar cambiar al modo de pantalla completa más adelante. Hay muchas razones por las que una cadena de intercambio en modo ventana no puede cambiar al modo de pantalla completa. Estos son algunos ejemplos.
- La aplicación se ejecuta a través de Terminal Server.
- La ventana de salida está ocluida.
- La ventana de salida no tiene el foco del teclado.
- Otra aplicación ya está en modo de pantalla completa.
- DXGI_STATUS_MODE_CHANGE_IN_PROGRESS se devuelve si se produce una transición en modo de pantalla completa o ventana cuando se llama a esta API.
- Otros códigos de error si se agota la memoria o encuentra otro error inesperado; estos códigos se pueden tratar como errores difíciles y no continuables.
Comentarios
DXGI puede cambiar el estado de visualización de una cadena de intercambio en respuesta a las solicitudes del usuario final o del sistema.
Se recomienda crear una cadena de intercambio con ventanas y permitir que el usuario final cambie la cadena de intercambio a pantalla completa a través de SetFullscreenState; es decir, no establezca el miembro Windowed de DXGI_SWAP_CHAIN_DESC en FALSE para forzar que la cadena de intercambio sea de pantalla completa. Sin embargo, si crea la cadena de intercambio como pantalla completa, también proporciona al usuario final una lista de modos de visualización admitidos porque una cadena de intercambio que se crea con un modo de visualización no compatible podría hacer que la pantalla vaya negra y evitar que el usuario final vea algo. Además, se recomienda tener una pantalla de confirmación de tiempo de espera u otro mecanismo de reserva al permitir que el usuario final cambie los modos de visualización.
Notas de las aplicaciones de la Tienda Windows
Si una aplicación de la Tienda Windows llama a SetFullscreenState para establecer el estado de visualización en pantalla completa, SetFullscreenState produce un error DXGI_ERROR_NOT_CURRENTLY_AVAILABLE.No puede llamar a SetFullscreenState en una cadena de intercambio que creó con IDXGIFactory2::CreateSwapChainForComposition.
Para el modelo de presentación invertida, después de realizar la transición del estado de presentación a pantalla completa, debe llamar a ResizeBuffers para asegurarse de que la llamada a IDXGISwapChain1::P resent1 se realiza correctamente.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | dxgi.h |
Library | DXGI.lib |