Función PoStartDeviceBusy (ntifs.h)

La rutina PoStartDeviceBusy marca el inicio de un período de tiempo en el que el dispositivo está ocupado.

Sintaxis

void PoStartDeviceBusy(
  [in, out] PULONG IdlePointer
);

Parámetros

[in, out] IdlePointer

Puntero a un contador inactivo. Se trata de un valor de puntero devuelto previamente por la rutina PoRegisterDeviceForIdleDetect ion. Dado que PoRegisterDeviceForIdleDetection podría devolver un puntero NULL, el llamador debe comprobar que el puntero no es NULL antes de llamar a PoStartDeviceBusy.

Valor devuelto

Ninguno

Observaciones

Las rutinas PoStartDeviceBus y y PoEndDeviceBusy marcan el inicio y el final de un período de tiempo en el que un dispositivo está ocupado. Cada llamada a poStartDeviceBusy debe ir seguida de una llamada correspondiente a PoEndDeviceBusy.

Para cada dispositivo, el administrador de energía mantiene un recuento del número de llamadas de PoStartDeviceBus y pendientes para las que aún no ha recibido una llamada PoEndDeviceBusy correspondiente. Una PoStartDeviceBusy llamada incrementa el recuento ocupado en uno. Una PoEndDeviceBusy llamada disminuye el número de ocupados por uno. Un recuento de ocupados distinto de cero deshabilita el contador de inactividad para el dispositivo. Una vez que el recuento de ocupados alcanza cero, el administrador de energía restablece el contador de inactividad al período de tiempo de espera y habilita el contador.

En lugar de usar las rutinas de PoStartDeviceBusy y PoEndDeviceBusy para restablecer el contador inactivo, puede llamar a la rutina de PoSetDeviceBusyEx (o la macro poSetDeviceBusy). Para deshabilitar el contador de inactividad durante un período de actividad prolongado, un controlador puede llamar al PoRegisterDeviceForIdleDetection rutina para deshabilitar y habilitar las notificaciones inactivas al principio y al final del período ocupado. Sin embargo, PoStartDeviceBusy y PoEndDeviceBusy suelen ser más cómodos de usar para este propósito, y debería considerar la posibilidad de usar estas rutinas en código nuevo que escribas para Windows 7 y versiones posteriores de Windows.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 7.
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

Consulte también

PoEndDeviceBusy

PoRegisterDeviceForIdleDetection

PoSetDeviceBusy