Partager via


Macro PoSetDeviceBusy (wdm.h)

La macro PoSetDeviceBusy informe le gestionnaire d’alimentation que l’appareil associé à IdlePointer est occupé.

Syntaxe

void PoSetDeviceBusy(
  [in, out]  IdlePointer
);

Paramètres

[in, out] IdlePointer

Spécifie un pointeur inactif non NULL qui a été précédemment retourné par PoRegisterDeviceForIdleDetection. Notez que PoRegisterDeviceForIdleDetection peut retourner un pointeur NULL . Un appelant de PoSetDeviceBusy doit vérifier que le pointeur n’est pas NULL avant de le transmettre à PoSetDeviceBusy.

Valeur de retour

None

Remarques

La routine PoSetDeviceBusyEx remplace directement la macro PoSetDeviceBusy . Si vous écrivez un nouveau code de pilote pour Windows Vista avec Service Pack 1 (SP1) et versions ultérieures de Windows, appelez PoSetDeviceBusyEx au lieu de PoSetDeviceBusy.

Un pilote utilise PoSetDeviceBusy avec PoRegisterDeviceForIdleDetection pour activer la détection d’inactivité du système pour son appareil. Si un appareil inscrit pour la détection d’inactivité devient inactif, le gestionnaire d’alimentation envoie une demande de IRP_MN_SET_POWER pour placer l’appareil dans un état de veille demandé.

PoSetDeviceBusy signale que l’appareil est occupé, afin que le gestionnaire d’alimentation puisse redémarrer son compte à rebours inactif. Si l’appareil n’est pas mis sous tension, PoSetDeviceBusy ne modifie pas son état. Autrement dit, le système n’envoie pas de demande de mise sous tension.

Un pilote doit appeler PoSetDeviceBusy sur chaque demande d’E/S.

Configuration requise

Condition requise Valeur
En-tête wdm.h (include Wdm.h)
IRQL N’importe quel niveau