PDXGK_INITIAL_COMPONENT_STATE función de devolución de llamada (d3dkmthk.h)
El controlador cliente implementa la función de devolución de llamada PDXGK_INITIAL_COMPONENT_STATE para inicializar el estado del componente.
Sintaxis
PDXGK_INITIAL_COMPONENT_STATE PdxgkInitialComponentState;
void PdxgkInitialComponentState(
PVOID GraphicsDeviceHandle,
PVOID PrivateHandle,
ULONG ComponentIndex,
BOOLEAN IsBlockingType,
UINT InitialFState,
GUID ComponentGuid,
UINT PowerComponentMappingFlag
)
{...}
Parámetros
GraphicsDeviceHandle
Identificador del dispositivo gráfico.
PrivateHandle
Un identificador opaco proporcionado en las devoluciones de llamada. Este identificador debe ser único globalmente, por lo tanto, se debe usar un puntero al PDO o FDO del controlador de llamada.
ComponentIndex
Índice del componente. Por lo general, este será el índice utilizado por el adaptador de gráficos. La excepción es para escenarios de adaptador de pantalla vinculados (LDA), donde el HIWORD del ComponentIndex indica el índice del adaptador, tal como se hace cuando el kernel de gráficos llama al kernel de gráficos para los cambios de estado F en escenarios de LDA.
IsBlockingType
Establezca TRUE si el componente es "bloqueo"; Por ejemplo, el controlador de gráficos ha notificado el componente como ActiveInD3 = 0. De lo contrario, establezca FALSE.
InitialFState
Estado F de un componente representado por componentIndex en el momento de la llamada. Si una transición de estado F está actualmente en curso, una devolución de llamada de notificación de finalización de PDXGK_FSTATE_NOTIFICATION con PreNotification=FALSE
seguirá algún tiempo más adelante cuando se complete la transición. Dependiendo del tiempo, puede producirse una devolución de llamada PreNotification=TRUE
. Si se produce, precederá a la devolución de llamada de notificación de finalización.
ComponentGuid
Valor GUID que es el GUID del componente tal como lo notifica el controlador de gráficos para este componente durante su respuesta DXGKQAITYPE_POWERCOMPONENTINFO.
PowerComponentMappingFlag
HIWORD indica si se trata de un valor definido por el controlador personalizado (0 = no, 1 = sí). Si es 0 (no), la palabra baja representa un valor de enumeración de DXGKMT_POWER_SHARED_TYPE. Estos valores se establecen mediante el controlador de gráficos durante su respuesta de DXGKQAITYPE_POWERCOMPONENTINFO, mediante el tipo DXGK_POWER_COMPONENT_SHARED_DESC agregado a DXGK_POWER_COMPONENT_MAPPING.
Valor devuelto
Ninguno
Observaciones
Tras el registro de energía compartido (llamada a IoCallDriver), si se proporcionó PDXGK_INITIAL_COMPONENT_STATE, se llama una vez para cada componente de energía compartido que ha notificado el controlador de gráficos. El comportamiento de esta devolución de llamada es tal que:
- Estas llamadas son llamadas de reintento, que se producen antes de IoCallDriver devolver
- Estas llamadas se producen en DISPATCH_LEVEL, lo que requiere que el código de controlador y los datos sean residentes en memoria
- A medida que estas devoluciones de llamada se producen antes de ioCallDriver devolver, DXGK_GRAPHICSPOWER_REGISTER_OUTPUT aún no se habría rellenado
- Si las transiciones de estado F están actualmente en curso, una PDXGK_FSTATE_NOTIFICATION posterior a la notificación avisará al controlador del estado final. Estas llamadas se garantizarán que se produzcan después de las llamadas InitialComponentStateCb. Sin embargo, es posible que estas devoluciones de llamada se produzcan antes de IoCallDriver devolver si se requiere sincronización. Un bloqueo de número debe estar alrededor de IoCallDriver y el controlador de PDXGK_FSTATE_NOTIFICATION.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 8 |
servidor mínimo admitido | Windows Server 2012 |
encabezado de | d3dkmthk.h |
irQL | DISPATCH_LEVEL |