Compartir a través de


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

Consulte también

DXGK_GRAPHICSPOWER_REGISTER_OUTPUT

DXGK_POWER_COMPONENT_MAPPING

DXGK_QUERYADAPTERINFOTYPE

DXGKMT_POWER_SHARED_TYPE

PDXGK_FSTATE_NOTIFICATION