Compartir a través de


estructura D3DDDI_ESCAPEFLAGS (d3dukmdt.h)

La estructura de D3DDDI_ESCAPEFLAGS identifica cómo el controlador de pantalla en modo de usuario comparte información con el controlador de minipuerto de pantalla.

Sintaxis

typedef struct _D3DDDI_ESCAPEFLAGS {
  union {
    struct {
      UINT HardwareAccess : 1;
      UINT DeviceStatusQuery : 1;
      UINT ChangeFrameLatency : 1;
      UINT NoAdapterSynchronization : 1;
#if ...
      UINT Reserved : 1;
      UINT VirtualMachineData : 1;
      UINT DriverKnownEscape : 1;
      UINT DriverCommonEscape : 1;
#if ...
      UINT Reserved2 : 24;
#else
      UINT Reserved2 : 26;
#endif
#elif
      UINT Reserved : 28;
#elif
      UINT Reserved : 29;
#else
      UINT Reserved : 31;
#endif
    };
    UINT Value;
  };
} D3DDDI_ESCAPEFLAGS;

Miembros

HardwareAccess

Valor UINT que especifica si el sistema operativo realiza el segundo nivel de sincronización en el controlador de minipuerto de pantalla para la llamada a DxgkDdiEscape . Si el controlador requiere el segundo nivel de sincronización y no se establece la marca HardwareAccess , se debe producir un error en la llamada a la función DxgkDdiEscape del controlador.

A partir de Windows 8.1, si se establece este miembro, DeviceStatusQuery y ChangeFrameLatency deben establecerse en cero.

Establecer este miembro equivale a establecer el primer bit del miembro Value de 32 bits (0x00000001).

DeviceStatusQuery

Si se establece, cuando se llama a la función pfnEscapeCb y el D3DDDICB_ESCAPE. El miembro PrivateDriverDataSize es sizeof(D3DDDI_EXECUTIONSTATEESCAPE), el entorno de ejecución de Direct3D interpreta el D3DDDICB_ESCAPE.Miembro pPrivateDriverData como puntero a un búfer que contiene una estructura D3DDDI_EXECUTIONSTATEESCAPE . Además, el tiempo de ejecución procesa el pfnEscapeCb como consulta de estado escribiendo la información solicitada en el búfer proporcionado en lugar de enviar una llamada dxgkDdiEscape al controlador de miniporte de pantalla.

Si se establece este miembro, HardwareAccess y ChangeFrameLatency deben establecerse en cero.

Se admite a partir de Windows 8.1.

El sistema operativo omite este miembro si es anterior a Windows 8.1, o si el controlador en modo de usuario se inicializó con una llamada OpenAdapterXxx donde el miembro pOpenData-Interface> indica direct3D versión 8 o anterior.

Establecer este miembro equivale a establecer el segundo bit del miembro Value de 32 bits (0x00000002).

ChangeFrameLatency

Si se establece, cuando se llama a la función pfnEscapeCb , el D3DDDICB_ESCAPE. El miembro PrivateDriverDataSize es sizeof(D3DDDI_FRAMELATENCYESCAPE) y también se cumplen las condiciones de comentarios, el tiempo de ejecución de Direct3D interpreta el D3DDDICB_ESCAPE.Miembro pPrivateDriverData como puntero a un búfer que contiene una estructura de D3DDDI_FRAMELATENCYESCAPE . Además, el tiempo de ejecución procesa el pfnEscapeCb como una solicitud para cambiar la latencia máxima de fotogramas del subsistema del kernel de gráficos directX escribiendo la información solicitada en el búfer proporcionado en lugar de enviar una llamada dxgkDdiEscape al controlador de minipuerto de pantalla.

Si se establece este miembro, HardwareAccess y DeviceStatusQuery deben establecerse en cero.

Se admite a partir de Windows 8.1.

El sistema operativo omite este miembro si es anterior a Windows 8.1, o si el controlador en modo de usuario se inicializó con una llamada OpenAdapterXxx donde el miembro pOpenData-Interface> indica direct3D versión 8 o anterior.

Establecer este miembro equivale a establecer el tercer bit del miembro Value de 32 bits (0x00000004).

NoAdapterSynchronization

Reserved

Este miembro está reservado y debe establecerse en cero. Establecer este miembro en cero equivale a establecer los 29 bits restantes (0xFFFFFFF8) del miembro Value de 32 bits en ceros.

Este miembro está reservado y debe establecerse en cero. Establecer este miembro en cero equivale a establecer los 31 bits restantes (0xFFFFFFFE) del miembro Value de 32 bits en ceros.

VirtualMachineData

Indica que se llama a DxgkDdiEscape desde una máquina virtual.

DriverKnownEscape

Los datos privados del controlador apuntan a una estructura conocida.

DriverCommonEscape

Estructura definida por el tiempo de ejecución de puntos de datos privados.

Reserved2

Este miembro está reservado y debe establecerse en cero.

Value

Miembro de la unión contenida en D3DDDI_ESCAPEFLAGS que puede contener un valor de 32 bits que identifica cómo compartir información.

Comentarios

Si se establece ChangeFrameLatency , una llamada pfnEscapeCb solo se realizará correctamente si:

  • El controlador de minipuerto de pantalla es responsable de una configuración de adaptador vinculada (LDA) proporcionada por un único proveedor.
  • La aplicación ha tomado la propiedad exclusiva de pantalla completa de la pantalla en algún momento de su duración.
  • La aplicación no ha invalidado el valor predeterminado de latencia máxima de fotogramas de 3.
Si no se cumplen estas condiciones, la llamada pfnEscapeCb devuelve un código de error E_INVALIDARG .

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores del sistema operativo Windows.
Encabezado d3dukmdt.h (incluya D3dumddi.h, D3dkmddi.h)

Consulte también

D3DDDICB_ESCAPE

D3DDDI_EXECUTIONSTATEESCAPE

D3DDDI_FRAMELATENCYESCAPE

DXGKARG_ESCAPE

DxgkDdiEscape

pfnEscapeCb