Fonction PoStartDeviceBusy (ntifs.h)
La routine PoStartDeviceBusy marque le début d’une période pendant laquelle l’appareil est occupé.
Syntaxe
void PoStartDeviceBusy(
[in, out] PULONG IdlePointer
);
Paramètres
[in, out] IdlePointer
Pointeur vers un compteur inactif. Il s’agit d’une valeur de pointeur qui a été retournée précédemment par la routine PoRegisterDeviceForIdleDetection. Étant donné que PoRegisterDeviceForIdleDetection peut retourner un pointeur NULL, l’appelant doit vérifier que le pointeur n’est pas NULL avant d’appeler PoStartDeviceBusy.
Valeur de retour
Aucun
Remarques
Les routines PoStartDeviceBusy et PoEndDeviceBusy marquent le début et la fin d’une période pendant laquelle un appareil est occupé. Chaque appel à PoStartDeviceBusy doit être suivi d’un appel correspondant à PoEndDeviceBusy.
Pour chaque appareil, le gère le nombre d’appels PoStartDeviceBusy en attente pour lesquels il n’a pas encore reçu d’appel PoEndDeviceBusy correspondant. Un appel PoStartDeviceBusy incrémente le nombre occupé par un. Un PoEndDeviceBusy décrémente le nombre occupé par un. Un nombre non occupé désactive le compteur d’inactivité de l’appareil. Une fois le nombre occupé atteint zéro, le gestionnaire d’alimentation réinitialise le compteur inactif au délai d’attente et active le compteur.
Au lieu d’utiliser les routines poStartDeviceBusy et PoEndDeviceBusy pour réinitialiser le compteur inactif, vous pouvez appeler la routine PoSetDeviceBusyEx (ou la macro PoSetDeviceBusy). Pour désactiver le compteur d’inactivité pendant une période prolongée, un pilote peut appeler le PoRegisterDeviceForIdleDetection routine pour désactiver et activer les notifications inactives au début et à la fin de la période occupée. Toutefois, PoStartDeviceBusy et PoEndDeviceBusy sont généralement plus pratiques à utiliser à cet effet, et vous devez envisager d’utiliser ces routines dans le nouveau code que vous écrivez pour Windows 7 et versions ultérieures de Windows.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 7. |
plateforme cible | Universel |
d’en-tête | ntifs.h (include Wdm.h, Ntddk.h, Ntifs.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | N’importe quel niveau |