Compartir a través de


PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK función de devolución de llamada (wdm.h)

El ComponentActiveConditionCallback rutina de devolución de llamada notifica al controlador que el componente especificado completó una transición de la condición de inactividad a la condición activa.

Sintaxis

PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK PoFxComponentActiveConditionCallback;

void PoFxComponentActiveConditionCallback(
  [in] PVOID Context,
  [in] ULONG Component
)
{...}

Parámetros

[in] Context

Puntero al contexto del dispositivo. El controlador de dispositivo usa este contexto para almacenar información sobre el estado de energía actual del dispositivo. El controlador de dispositivo especificó este puntero en el miembro DeviceContext de la estructura de PO_FX_DEVICE que el controlador usó para registrar el dispositivo con el marco de administración de energía (PoFx). Este contexto es opaco para PoFx.

[in] Component

Especifica el índice que identifica el componente. Este parámetro es un índice en la matriz componentes de en la estructura de PO_FX_DEVICE que el controlador de dispositivo usó para registrar el dispositivo con PoFx. Si la matriz Components contiene N elementos, los índices de componentes van de 0 a N-1.

Valor devuelto

Ninguno

Observaciones

Solo se puede acceder a los registros de hardware de un componente cuando el componente está en la condición activa. No confíe en el estado de energía fx de un componente para determinar si se puede tener acceso al componente. Si el componente está en estado F0 y está en la condición de inactividad, es posible que el componente esté a punto de cambiar a otro estado Fx.

Para obtener acceso a un componente que se encuentra en la condición de inactividad, el controlador puede llamar a la rutina PoFxActivateComponent para cambiar el componente a la condición activa. Si el componente aún no está en la condición activa cuando se llama a PoFxActivateComponent, PoFx inicia la transición a la condición activa y, a continuación, llama a la rutina ComponentActiveConditionCallback para notificar al controlador cuando se complete la transición.

El controlador recibe un ComponentActiveConditionCallback devolución de llamada cada vez que el componente completa una transición a la condición activa, independientemente de si el controlador llamado PoFxActivateComponent para iniciar la transición. Por ejemplo, el kernel de Windows podría activar el componente en nombre del controlador antes de enviar una IRP de Plug and Play irP o un sistema set-power IRP al controlador.

Ejemplos

Para definir un ComponentActiveConditionCallback rutina de devolución de llamada, primero debe proporcionar una declaración de función que identifique el tipo de rutina de devolución de llamada que está definiendo. Windows proporciona un conjunto de tipos de función de devolución de llamada para controladores. Declarar una función mediante los tipos de función de devolución de llamada ayuda a Análisis de código para controladores, comprobador de controladores estáticos (SDV) y otras herramientas de comprobación encuentran errores y es un requisito para escribir controladores para el sistema operativo Windows.

Por ejemplo, para definir un ComponentActiveConditionCallback rutina de devolución de llamada denominada MyComponentActiveConditionCallback, use el tipo PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK tal como se muestra en este ejemplo de código:

PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK MyComponentActiveConditionCallback;

A continuación, implemente la rutina de devolución de llamada de la siguiente manera:

_Use_decl_annotations_
VOID
  MyComponentActiveConditionCallback(
    PVOID Context,
    ULONG Component
    )
  {
      // Function body
  }

El tipo de función PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK se define en el archivo de encabezado Wdm.h. Para identificar con mayor precisión los errores al ejecutar las herramientas de análisis de código, asegúrese de agregar la anotación _Use_decl_annotations_ a la definición de función. La anotación _Use_decl_annotations_ garantiza que se usen las anotaciones que se aplican al tipo de función PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, vea Declarar funciones mediante tipos de rol de función para controladores WDM. Para obtener información sobre _Use_decl_annotations_, vea Anotación del comportamiento de la función.

Requisitos

Requisito Valor
cliente mínimo admitido Se admite a partir de Windows 8.
de la plataforma de destino de Escritorio
encabezado de wdm.h (incluya Wudfwdm.h)
irQL Se llama a irQL <= DISPATCH_LEVEL.

Consulte también

PO_FX_DEVICE

poFxActivateComponent