PO_FX_DEVICE_POWER_REQUIRED_CALLBACK función de devolución de llamada (wdm.h)
El DevicePowerRequiredCallback rutina de devolución de llamada notifica al controlador de dispositivo que el dispositivo debe entrar y permanecer en el estado de alimentación D0.
Sintaxis
PO_FX_DEVICE_POWER_REQUIRED_CALLBACK PoFxDevicePowerRequiredCallback;
void PoFxDevicePowerRequiredCallback(
[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
Después de que PoFx llame a la rutina DevicePowerRequiredCall back del controlador, el controlador debe iniciar una transición al estado D0 enviando un IRP D0 (una solicitud de IRP_MN_SET_POWER) a la pila de dispositivos, si el dispositivo aún no está en estado D0. Una vez completado el controlador (y todos los controladores inferiores completados) de esta solicitud, el controlador debe llamar a la rutina PoFxReportDevicePoweredOn. La llamada PoFxReportDevicePoweredOn notifica a PoFx que el dispositivo completó su respuesta a la llamada DevicePowerRequiredCallback. El controlador puede llamar a PoFxReportDevicePoweredOn durante o después de la llamada DevicePowerRequiredCallback.
Cada vez que se llama a la rutina DevicePowerRequiredCallback, el controlador debe responder llamando a PoFxReportDevicePoweredOn. La llamada PoFxReportDevicePoweredOn puede producirse durante o después de la llamada DevicePowerRequiredCallback. El controlador debe llamar a PoFxReportDevicePoweredOn independientemente de si no se requiere IRP D0, se produce un error en la solicitud D0 IRP o se produce un error o se produce un error en el IRP enviado.
PoFx llama a la rutina de DevicePowerRequiredCall back solo si PoFx llamó previamente al DevicePowerNotRequiredCallback del controlador rutina para notificar al controlador que el dispositivo no era necesario para permanecer en el estado D0.
La llamada al DevicePowerRequiredCallback rutina puede producirse en cualquier momento después de que el controlador llame a PoFxCompleteDevicePowerNotRequired para completar un DevicePowerNotRequiredCallback devolución de llamada. El DevicePowerRequiredCallback llamada no se produce necesariamente como resultado de una acción realizada por el controlador, como solicitar que un componente cambie a la condición activa.
Ejemplos
Para definir un DevicePowerRequiredCallback 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 DevicePowerRequiredCallback rutina de devolución de llamada denominada MyDevicePowerRequiredCallback
, use el tipo PO_FX_DEVICE_POWER_REQUIRED_CALLBACK tal como se muestra en este ejemplo de código:
PO_FX_DEVICE_POWER_REQUIRED_CALLBACK MyDevicePowerRequiredCallback;
A continuación, implemente la rutina de devolución de llamada de la siguiente manera:
_Use_decl_annotations_
VOID
MyDevicePowerRequiredCallback(
PVOID Context
)
{
// Function body
}
El tipo de función PO_FX_DEVICE_POWER_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_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
DevicePowerNotRequiredCallback