Compartir a través de


enumeración DXGI_SWAP_CHAIN_FLAG (dxgi.h)

Opciones para el comportamiento de la cadena de intercambio.

Syntax

typedef enum DXGI_SWAP_CHAIN_FLAG {
  DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1,
  DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2,
  DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4,
  DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT = 8,
  DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER = 16,
  DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY = 32,
  DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT = 64,
  DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER = 128,
  DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO = 256,
  DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO = 512,
  DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 1024,
  DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING = 2048,
  DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS = 4096
} ;

Constantes

 
DXGI_SWAP_CHAIN_FLAG_NONPREROTATED
Valor: 1
Establezca esta marca para desactivar la rotación automática de imágenes; es decir, no realice una rotación al transferir el contenido del búfer frontal al monitor.
Use esta marca para evitar una penalización de ancho de banda cuando una aplicación espera controlar la rotación. Esta opción solo es válida durante el modo de pantalla completa.
DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH
Valor: 2
Establezca esta marca para permitir que una aplicación cambie los modos mediante una llamada a IDXGISwapChain::ResizeTarget.
Al cambiar del modo de ventana a pantalla completa, el modo de visualización (o resolución de monitor) se cambiará para que coincida con las dimensiones de la ventana de la aplicación.
DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE
Valor: 4
Establezca esta marca para permitir que una aplicación se represente mediante GDI en una cadena de intercambio o una superficie.
Esto permitirá que la aplicación llame a IDXGISurface1::GetDC en el 0 búfer de reserva o una superficie.

Esta marca no es aplicable a Direct3D 12.
DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT
Valor: 8
Establezca esta marca para indicar que la cadena de intercambio puede contener contenido protegido; por lo tanto, el sistema operativo solo admite la creación de la cadena de intercambio cuando se usa la protección de controladores y hardware. Si el controlador y el hardware no admiten la protección de contenido, se produce un error en la llamada a para crear un recurso para la cadena de intercambio.

Direct3D 11: Este valor de enumeración se admite a partir de Windows 8.
DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER
Valor: 16
Establezca esta marca para indicar que los recursos compartidos creados dentro de la cadena de intercambio deben estar protegidos mediante el mecanismo del controlador para restringir el acceso a las superficies compartidas.

Direct3D 11: Este valor de enumeración se admite a partir de Windows 8.
DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY
Valor: 32
Establezca esta marca para restringir el contenido presentado a las pantallas locales. Por lo tanto, el contenido presentado no es accesible a través del acceso remoto o a través de las API de duplicación de escritorio.

Esta marca admite las características de protección de contenido de ventana de Windows. Las aplicaciones pueden usar esta marca para proteger su propio contenido de ventana en pantalla de que se capturen o copien a través de un conjunto específico de características y API del sistema operativo público.

Si usa esta marca con cadenas de intercambio (HWND o IWindow) en las que otro proceso creó el HWND, el propietario del HWND debe usar la función SetWindowDisplayAffinity correctamente para permitir llamadas a IDXGISwapChain::P resent o IDXGISwapChain1::P resent1 para que se realice correctamente.


Direct3D 11: Este valor de enumeración se admite a partir de Windows 8.
DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT
Valor: 64
Establezca esta marca para crear un objeto que se pueda usar para asegurarse de que la representación no comienza mientras se sigue presentando un marco. Cuando se usa esta marca, la latencia de la cadena de intercambio debe establecerse con la API IDXGISwapChain2::SetMaximumFrameLatency en lugar de IDXGIDevice1::SetMaximumFrameLatency.

Esta marca no se admite en modo de pantalla completa, a menos que la API de representación sea Direct3D 12.

Nota Este valor de enumeración se admite a partir de Windows 8.1.
DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER
Valor: 128
Establezca esta marca para crear una cadena de intercambio en la capa de primer plano para la representación en varios planos. Esta marca solo se puede usar con cadenas de intercambio CoreWindow , que se crean con CreateSwapChainForCoreWindow. Las aplicaciones no deben crear cadenas de intercambio en primer plano si IDXGIOutput2::SupportsOverlays indica que la compatibilidad de hardware con las superposiciones no está disponible.

Tenga en cuenta que IDXGISwapChain::ResizeBuffers no se puede usar para agregar o quitar esta marca.

Nota Este valor de enumeración se admite a partir de Windows 8.1.
DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO
Valor: 256
Establezca esta marca para crear una cadena de intercambio para vídeo de pantalla completa.

Nota Este valor de enumeración se admite a partir de Windows 8.1.
DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO
Valor: 512
Establezca esta marca para crear una cadena de intercambio para el vídeo YUV.

Nota Este valor de enumeración se admite a partir de Windows 8.1.
DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED
Valor: 1024
Indica que se debe crear la cadena de intercambio de forma que todos los recursos subyacentes puedan estar protegidos por el hardware. Se producirá un error en la creación de recursos si no se admite la protección de contenido de hardware.

Esta marca tiene las siguientes restricciones:


  • Esta marca solo se puede usar con el efecto de intercambio DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL.


Nota La creación de una cadena de intercambio con esta marca no garantiza automáticamente que la protección de hardware esté habilitada para la asignación subyacente. Algunas implementaciones requieren que los componentes DRM se inicialicen por primera vez antes de cualquier garantía de protección.

 

Nota Este valor de enumeración se admite a partir de Windows 10.
DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING
Valor: 2048
La compatibilidad con desmontaje es un requisito para habilitar las pantallas que admiten velocidades de actualización variables para funcionar correctamente cuando la aplicación presenta una cadena de intercambio asociada a una ventana sin borde de pantalla completa. Las aplicaciones Win32 ya pueden lograr el desgarro en modo exclusivo de pantalla completa llamando a SetFullscreenState(TRUE), pero el enfoque recomendado para los desarrolladores de Win32 es usar esta marca de desgarro en su lugar. Esta marca requiere el uso de un efecto de intercambio de DXGI_SWAP_EFFECT_FLIP_* .

Para comprobar la compatibilidad de hardware de esta característica, consulte IDXGIFactory5::CheckFeatureSupport. Para obtener información de uso, consulte IDXGISwapChain::P resent y las marcas de DXGI_PRESENT .

NOTA

IDXGISwapChain::ResizeBuffers no se puede usar para agregar o quitar esta marca.

DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS
Valor: 4096

Comentarios

Esta enumeración la usa la estructura DXGI_SWAP_CHAIN_DESC y el método IDXGISwapChain::ResizeTarget .

Esta enumeración también la usa la estructura DXGI_SWAP_CHAIN_DESC1 .

No es necesario establecer DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY para las cadenas de intercambio que cree en modo de pantalla completa con el método IDXGIFactory::CreateSwapChain porque esas cadenas de intercambio ya se comportan como si se hubiera establecido DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY . Es decir, el acceso remoto no puede acceder al contenido presentado ni a través de las API de duplicación de escritorio.

Las cadenas de intercambio que cree con los métodos IDXGIFactory2::CreateSwapChainForHwnd, IDXGIFactory2::CreateSwapChainForCoreWindow y IDXGIFactory2::CreateSwapChainForComposition no están protegidos si no se establece DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY y están protegidos si se establece DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY . Cuando las cadenas de intercambio están protegidas, se impide la extracción de pantalla y, en modo de pantalla completa, el contenido presentado no es accesible a través de las API de duplicación de escritorio.

Al llamar a IDXGISwapChain::ResizeBuffers para cambiar el búfer de reserva de la cadena de intercambio, puede restablecer o cambiar todas las marcas de DXGI_SWAP_CHAIN_FLAG .

Requisitos

Requisito Valor
Header dxgi.h

Consulte también

DxGI (enumeraciones)