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.
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;
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.
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.
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) |