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 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 | Windows 7. |
Plataforma de destino | Universal |
Encabezado | ntifs.h (incluye Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | Cualquier nivel |