Función PoSetDeviceBusyEx (ntifs.h)
La rutina PoSetDeviceBusyEx notifica al administrador de energía que el dispositivo asociado al contador de inactividad especificado está ocupado.
Sintaxis
void PoSetDeviceBusyEx(
[in, out] PULONG IdlePointer
);
Parámetros
[in, out] IdlePointer
Puntero a un contador inactivo. Se trata de un valor de puntero que devolvió previamente el PoRegisterDeviceForIdleDetection rutina. Dado que PoRegisterDeviceForIdleDetection podría devolver un puntero NULL, el llamador debe comprobar que el puntero no es NULL antes de llamar a PoSetDeviceBusyEx.
Valor devuelto
Ninguno
Observaciones
Esta rutina es un reemplazo directo de la macro PoSetDeviceBusy. Si va a escribir nuevo código de controlador para Windows Vista con Service Pack 1 (SP1) y versiones posteriores de Windows, llame a PoSetDeviceBusyEx en lugar de PoSetDeviceBusy.
Un controlador llama al PoSetDeviceBusyEx y PoRegisterDeviceForIdleDetection rutinas para habilitar la detección de inactividad del sistema para su dispositivo. Si un dispositivo registrado para la detección de inactividad permanece inactivo durante el período de tiempo de espera especificado por el controlador, el administrador de energía envía una solicitud de IRP_MN_SET_POWER para colocar el dispositivo en un estado de suspensión solicitado.
PoSetDeviceBusyEx informa de que el dispositivo está ocupado, de modo que el administrador de energía pueda reiniciar su cuenta atrás inactiva. Si el dispositivo está en estado de suspensión, PoSetDeviceBusyEx no cambia el estado del dispositivo. Es decir, no hace que el sistema envíe una solicitud de IRP_MN_SET_POWER despertar el dispositivo.
poSetDeviceBusyEx está diseñado para su uso con operaciones de E/S que son relativamente breves en comparación con el período de tiempo de espera del contador de inactividad. Para las operaciones más largas que pueden superar este período, use las rutinas dePoStartDeviceBusy y PoEndDeviceBusy en su lugar.
Un controlador que realiza varias solicitudes para operaciones de E/S breves debe llamar a PoSetDeviceBusyEx para cada solicitud de E/S que realice.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista con SP1 |
de la plataforma de destino de | Universal |
encabezado de | ntifs.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe |
irQL | Cualquier nivel |