Fonction PoFxSetDeviceIdleTimeout (wdm.h)
La routine PoFxSetDeviceIdleTimeout spécifie l’intervalle de temps minimal entre le moment où le dernier composant de l’appareil entre dans la condition d’inactivité et le moment où l’infrastructure de gestion de l’alimentation (PoFx) appelle la routine DevicePowerNotRequiredCallback du pilote.
Syntaxe
void PoFxSetDeviceIdleTimeout(
[in] POHANDLE Handle,
[in] ULONGLONG IdleTimeout
);
Paramètres
[in] Handle
Handle qui représente l’inscription de l’appareil auprès de PoFx. Le pilote de périphérique a déjà reçu ce handle de la routine PoFxRegisterDevice .
[in] IdleTimeout
Intervalle de délai d’inactivité en unités de 100 nanosecondes. Pour plus d'informations, consultez la section Notes.
Valeur de retour
None
Remarques
Cette routine spécifie un intervalle de délai d’attente pour Que PoFx s’applique aux appels futurs à la routine de rappel DevicePowerNotRequiredCallback du pilote. Par défaut, cet intervalle de délai d’attente est égal à zéro, auquel cas PoFx peut appeler la routine DevicePowerNotRequiredCallback dès que l’appareil est prêt à passer à un état Dx faible consommation. Toutefois, un pilote peut préférer retarder cette transition et maintenir l’appareil dans l’état d’alimentation D0 pendant un intervalle de délai d’attente supplémentaire. Dans ce cas, si l’appareil devient actif avant la fin de l’intervalle de délai d’attente et qu’il doit donc rester à l’état D0, l’appel DevicePowerNotRequiredCallback en attente n’est plus obligatoire et est annulé par PoFx.
Par exemple, pour améliorer les performances et réduire l’usure, un pilote de périphérique de stockage peut vouloir empêcher un lecteur tournant d’entrer dans D3 et de ralentir jusqu’à ce que le lecteur soit inactif pendant suffisamment longtemps. Pour simplifier l’implémentation par ce pilote de la routine de rappel DevicePowerNotRequiredCallback , la routine PoFxSetDeviceIdleTimeout permet au pilote de retarder automatiquement la transition D3 sans nécessiter que le pilote configure un minuteur.
L’intervalle de délai d’attente commence lorsque tous les composants de l’appareil terminent leur transition vers la condition d’inactivité. En règle générale, PoFx attend la fin de l’intervalle de délai d’attente pour appeler la routine DevicePowerNotRequiredCallback . Toutefois, si PoFx se prépare à entrer dans un état de système à faible consommation d’énergie, PoFx peut mettre fin à l’intervalle de délai d’attente tôt. Dans tous les cas, lorsque PoFx appelle la routine DevicePowerNotRequiredCallback du pilote, le pilote doit passer à l’état Dx à faible consommation sans plus de délai.
Le pilote de périphérique peut appeler PoFxSetDeviceIdleTimeout chaque fois qu’une modification des conditions nécessite une modification de l’intervalle de délai d’inactivité. Après chaque appel, le nouvel intervalle de délai d’inactivité reste en vigueur jusqu’à ce que le pilote appelle à nouveau PoFxSetDeviceIdleTimeout pour le mettre à jour.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 8. |
Plateforme cible | Universal |
En-tête | wdm.h |
Bibliothèque | Ntoskrnl.lib |
DLL | Ntoskrnl.exe |
IRQL | <= DISPATCH_LEVEL |