Compartir a través de


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

El DevicePowerNotRequiredCallback rutina de devolución de llamada notifica al controlador de dispositivo que el dispositivo no tiene que permanecer en el estado de energía D0.

Sintaxis

PO_FX_DEVICE_POWER_NOT_REQUIRED_CALLBACK PoFxDevicePowerNotRequiredCallback;

void PoFxDevicePowerNotRequiredCallback(
  [in] PVOID Context
)
{...}

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.

Valor devuelto

Ninguno

Observaciones

Cuando PoFx llama a la rutina DevicePowerNotRequiredCall back del controlador, el controlador debe decidir primero si debe iniciar una transición a un estado Dx de baja potencia (enviando una solicitud de IRP_MN_SET_POWER a la pila del dispositivo) o permanecer en el estado D0. A continuación, sin esperar a que se complete ninguna transición dx, el controlador debe llamar al PoFxCompleteDevicePowerNotRequired rutina para notificar a PoFx que el controlador completó su respuesta al DevicePowerNotRequiredCallback devolución de llamada. El controlador puede llamar a PoFxCompleteDevicePowerNotRequired antes o después de la rutina DevicePowerNotRequiredCallback.

Cuando un dispositivo está en estado D0 y la condición fx o activa/inactiva de un componente del dispositivo cambia, PoFx evalúa si el dispositivo puede entrar en un estado Dx de baja potencia o debe permanecer en estado D0. Si el dispositivo puede entrar en un estado Dx de bajo consumo, PoFx llama a la rutina DevicePowerNotRequiredCallback del controlador.

Si el dispositivo entra en un estado Dx de bajo consumo en respuesta a un DevicePowerNotRequiredCallback devolución de llamada, pero PoFx más adelante determina que el dispositivo debe entrar en el estado D0, PoFx llama a la rutina DevicePowerRequiredCallback del controlador. En respuesta a esta llamada, el dispositivo debe especificar el estado D0.

Ejemplos

Para definir un DevicePowerNotRequiredCallback 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 DevicePowerNotRequiredCallback rutina de devolución de llamada denominada MyDevicePowerNotRequiredCallback, use el tipo PO_FX_DEVICE_POWER_NOT_REQUIRED_CALLBACK tal como se muestra en este ejemplo de código:

PO_FX_DEVICE_POWER_NOT_REQUIRED_CALLBACK MyDevicePowerNotRequiredCallback;

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

_Use_decl_annotations_
VOID
  MyDevicePowerNotRequiredCallback(
    PVOID Context
    )
  {
      // Function body
  }

El tipo de función PO_FX_DEVICE_POWER_NOT_REQUIRED_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_DEVICE_POWER_NOT_REQUIRED_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

DevicePowerRequiredCallback

IRP_MN_SET_POWER

PO_FX_DEVICE

PoFxCompleteDevicePowerNotRequired

poFxRegisterDevice