Función PoStartDeviceBusy (wdm.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 PoRegisterDeviceForIdleDetection . Dado que PoRegisterDeviceForIdleDetection podría devolver un puntero NULL , el autor de la llamada debe comprobar que el puntero no es NULL antes de llamar a PoStartDeviceBusy.

Valor devuelto

None

Observaciones

Las rutinas PoStartDeviceBusy 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 PoStartDeviceBusy pendientes para las que aún no ha recibido una llamada a PoEndDeviceBusy correspondiente. Una llamada a PoStartDeviceBusy incrementa el recuento ocupado en uno. Una llamada PoEndDeviceBusy disminuye el recuento ocupado 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 inactivo al período de tiempo de espera y habilita el contador.

En lugar de usar las rutinas PoStartDeviceBusy y PoEndDeviceBusy para restablecer el contador inactivo, puede llamar a la rutina PoSetDeviceBusyEx (o la macro PoSetDeviceBusy ). Para deshabilitar el contador de inactividad durante un período de disponibilidad prolongado, un controlador puede llamar a la rutina PoRegisterDeviceForIdleDetection 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 debes considerar el uso de estas rutinas en código nuevo que escribas para Windows 7 y versiones posteriores de Windows.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 7.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL Cualquier nivel

Consulte también

PoEndDeviceBusy

PoRegisterDeviceForIdleDetection

PoSetDeviceBusy