PDXGK_INITIAL_COMPONENT_STATE función de devolución de llamada (d3dkmthk.h)
El controlador de 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
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 que realiza la 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, como se hace cuando el kernel de gráficos llama al controlador 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 tarde cuando se complete la transición. Dependiendo del tiempo, puede producirse una PreNotification=TRUE
devolución de llamada. 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 DXGKQAITYPE_POWERCOMPONENTINFO respuesta.
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 DXGKMT_POWER_SHARED_TYPE . El controlador de gráficos establece estos valores durante su respuesta de DXGKQAITYPE_POWERCOMPONENTINFO , usando el tipo de DXGK_POWER_COMPONENT_SHARED_DESC agregado a DXGK_POWER_COMPONENT_MAPPING.
Valor devuelto
None
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 el controlador de gráficos ha notificado. El comportamiento de esta devolución de llamada es el siguiente:
- Estas llamadas son llamadas de reintento, que se producen antes de que IoCallDriver devuelva
- 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 que IoCallDriver devuelva, DXGK_GRAPHICSPOWER_REGISTER_OUTPUT aún no se habría rellenado.
- Si hay transiciones de estado F actualmente en curso, un 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 que IoCallDriver devuelva si se requiere sincronización. Un bloqueo de número debe estar alrededor de IoCallDriver y el controlador de PDXGK_FSTATE_NOTIFICATION .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 |
Servidor mínimo compatible | Windows Server 2012 |
Encabezado | d3dkmthk.h |
IRQL | DISPATCH_LEVEL |