Compartir a través de


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

Consulte también

DXGK_GRAPHICSPOWER_REGISTER_OUTPUT

DXGK_POWER_COMPONENT_MAPPING

DXGK_QUERYADAPTERINFOTYPE

DXGKMT_POWER_SHARED_TYPE

PDXGK_FSTATE_NOTIFICATION