estructura DXGKARG_COMMITVIDPN_FLAGS (d3dkmddi.h)
La estructura DXGKARG_COMMITVIDPN_FLAGS identifica detalles sobre una llamada a la función DxgkDdiCommitVidPn .
Sintaxis
typedef struct _DXGKARG_COMMITVIDPN_FLAGS {
UINT PathPowerTransition : 1;
UINT PathPoweredOff : 1;
UINT Reserved : 30;
} DXGKARG_COMMITVIDPN_FLAGS;
Miembros
PathPowerTransition
Valor UINT que especifica si el subsistema del kernel de gráficos de Microsoft DirectX llama a la función DxgkDdiCommitVidPn para apagar un monitor conectado.
Si PathPowerTransition está establecido en TRUE, el controlador de minipuerto de pantalla puede optimizar esta llamada para un apagado (por ejemplo, el controlador podría deshabilitar las sincronizaciones verticales). El controlador también debe tener en cuenta que puede seguir recibiendo llamadas a su función DxgkDdiPresent en el origen afectado.
Establecer este miembro equivale a establecer el primer bit de un valor de 32 bits (0x00000001).
Para obtener más información, vea la sección Comentarios que se muestra más adelante.
PathPoweredOff
Valor UINT que especifica si el subsistema del kernel de gráficos de DirectX llama a DxgkDdiCommitVidPn para informar al controlador de que el usuario ha cambiado los modos.
Si PathPoweredOff está establecido en TRUE, el controlador de minipuerto de pantalla debe esperar operaciones presentes basadas en la nueva topología. El controlador no puede realizar ninguna operación que haga que la ruta de acceso de la topología se vuelva a encender (por ejemplo, el controlador no puede habilitar las sincronizaciones verticales) porque el monitor ahora debe apagarse.
Si PathPoweredOff está establecido en FALSE, la ruta de acceso de la topología se enciende. El controlador de minipuerto de pantalla debe programar hardware para las operaciones actuales que se basan en la ruta de acceso de la topología anterior y el controlador debe confirmar el hardware para admitir esta ruta de acceso de topología. Establecer este miembro equivale a establecer el segundo bit de un valor de 32 bits (0x00000002).
Para obtener más información, vea la sección Comentarios que se muestra más adelante.
Reserved
Este miembro está reservado y debe establecerse en cero. Establecer este miembro en cero equivale a establecer los 30 bits restantes (0xFFFFFFFC) de un valor de 32 bits en ceros.
Comentarios
La estructura DXGKARG_COMMITVIDPN_FLAGS almacena información que el controlador de minipuerto de pantalla puede usar para determinar cómo responder a los cambios de modo solicitados. Con esta información, el controlador puede distinguir entre los cambios de modo que se producen durante la actividad regular porque una aplicación solicitó un cambio de modo, los cambios que se producen debido a las transiciones de energía y los cambios que se producen mientras los monitores están desactivados.
Durante la actividad regular, cuando se llama a la función DxgkDdiCommitVidPn , los miembros PathPowerTransition y PathPoweredOff serán FALSE para que el controlador deba aplicar los cambios de modo inmediatamente. Estos cambios en el modo normalmente se realizan como eventos aislados. Por lo tanto, no es necesario que el controlador realice un seguimiento de ningún estado asociado a la configuración del modo anterior.
Si los monitores están apagados o activados, PathPowerTransition será TRUE para indicar una transición de energía. En este caso, un patrón común es que los monitores se desactivarán y, a continuación, en algún momento posterior, se restaurará la configuración original. Puede ser una carga de trabajo importante para que el controlador restablezca la configuración de pantalla completamente después de apagar el sistema. Además, , el controlador debe seguir completando las operaciones dxgkDdiPresent mientras los monitores están desactivados. Sin embargo, el controlador puede reducir su carga de trabajo cuando se realiza una llamada a DxgkDdiCommitVidPn asegurándose de que los monitores implicados están apagados. Cuando se restaura la energía, se reducirá la carga de trabajo del controlador para restaurar la configuración de pantalla.
Dado que es posible que el monitor no esté conectado físicamente (por ejemplo, en el tiempo de reanudación del sistema), el controlador no debe confiar en Windows para realizar una llamada posterior a la función DxgkDdiSetPowerState para establecer el estado de alimentación del dispositivo secundario del adaptador de pantalla. Sin embargo, Windows seguirá solicitando que la CRTC esté activada. Si el controlador no activa la sincronización vertical cuando se le solicita que lo haga el administrador del modo de presentación (DMM) y, si el usuario vuelve a conectar posteriormente el monitor, la pantalla del monitor podría estar en blanco.
El controlador debe seguir cumpliendo las operaciones dxgkDdiPresent mientras los monitores están desactivados. Es posible que el controlador tenga que actuar sobre un cambio de modo desencadenado por una aplicación, por ejemplo, para realizar modificaciones en la canalización de representación para tener en cuenta los cambios de rotación. La configuración de PathPowerTransition = FALSE y PathPoweredOff = TRUE informa al controlador de que se ha producido un cambio de modo de este tipo. En este caso, el controlador no debe activar los monitores, sino que debe volver a programar el hardware, si es necesario, para dar cabida al cambio de modo para que se puedan completar operaciones de DxgkDdiPresent adicionales. Cuando se ha realizado este cambio de modo y los monitores se vuelven a activar posteriormente, es poco probable que se restaure el modo que se produjo antes de que se restaure el apagado.
Si se desencadena una operación de reanudación del sistema después de desactivar los monitores para una operación de suspensión del sistema, el controlador puede recibir una llamada DxgkDdiCommitVidPn con PathPowerTransition = FALSE y PathPoweredOff = FALSE antes de que se realice una llamada DxgkDdiCommitVidPn con PathPowerTransition = TRUE. Esta situación solo debe producirse con una topología vacía y, en este caso, el controlador no debe volver a activar los monitores porque la transición de energía aún no se ha completado.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Encabezado | d3dkmddi.h (incluya D3dkmddi.h) |