So I’ve noticed an odd behavior of PoRegisterDeviceforIdleDetection when
I select the default timeout for only AC or DC (exclusively) which is
achieved by disabling whichever one I don’t want with a value zero, for
example:
dx->pIdleCount =
PoRegisterDeviceForIdleDetection(
DiskPdo,
0, // system idle detection disabled for DC operation
-1, // system idle detection enabled for AC operation
PowerDeviceD1
);
Forget the rathole of why someone would want to do this, just note that
the DDK description of the operation infers that this is an accepted
practice by stating the following:
“If both ConservationIdleTime and PerformanceIdleTime are zero,
this routine cancels all idle detection for the device and returns
NULL.”
So why would disabling just one of these cause the idle timeout to stop,
including the power control panel extension removing the timeout
selection from it’s display? Is there a bug in
PoRegisterDeviceForIdleDetection for which an eratta is not publicly
available?
Thanks, MKE.