Macro PoSetDeviceBusy (wdm.h)

La macro PoSetDeviceBusy notifica al administrador de energía que el dispositivo asociado a IdlePointer está ocupado.

Sintaxis

void PoSetDeviceBusy(
  [in, out]  IdlePointer
);

Parámetros

[in, out] IdlePointer

Especifica un puntero inactivo que no es NULL devuelto previamente por PoRegisterDeviceForIdleDetection. Tenga en cuenta que PoRegisterDeviceForIdleDetection podría devolver un puntero NULL . Un autor de llamada de PoSetDeviceBusy debe comprobar que el puntero no es NULL antes de pasarlo a PoSetDeviceBusy.

Valor devuelto

None

Observaciones

La rutina PoSetDeviceBusyEx 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 usa PoSetDeviceBusy junto con PoRegisterDeviceForIdleDetection para habilitar la detección de inactividad del sistema para su dispositivo. Si un dispositivo registrado para la detección de inactividad se vuelve inactivo, el administrador de energía envía una solicitud de IRP_MN_SET_POWER para poner el dispositivo en un estado de suspensión solicitado.

PoSetDeviceBusy 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 no está encendido, PoSetDeviceBusy no cambia su estado. Es decir, no hace que el sistema envíe una solicitud de encendido.

Un controlador debe llamar a PoSetDeviceBusy en cada solicitud de E/S.

Requisitos

Requisito Valor
Header wdm.h (incluya Wdm.h)
IRQL Cualquier nivel