Prise en charge des Wake-Up système

Lorsque le système est dans un état de faible consommation, certains appareils peuvent détecter un événement externe, tel qu’un paquet réseau entrant, puis réveiller le système. Par exemple, si un appareil PCI dispose d’une fonctionnalité de mise en éveil du système, comme indiqué dans le registre des fonctionnalités de gestion de l’alimentation (PMC) de l’appareil, il déclenche le déclenchement du signal d’événement de gestion de l’alimentation (PME) sur le bus PCI.

Si votre appareil peut sortir le système d’un état de faible consommation à l’échelle du système, la fonction de rappel EvtDriverDeviceAdd dans le propriétaire de la stratégie d’alimentation doit effectuer les deux étapes suivantes :

  1. Appelez WdfDeviceAssignSxWakeSettings pour spécifier :

    • État de faible consommation que l’appareil entrera
    • Si les utilisateurs peuvent contrôler les paramètres d’inactivité de l’appareil
    • Indique si la fonctionnalité de veille de l’appareil est activée ou désactivée

    Pour plus d’informations sur ces paramètres, consultez la structure WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS .

  2. Appelez WdfDeviceInitSetPowerPolicyEventCallbacks pour inscrire les fonctions de rappel d’événement suivantes, si vous en avez besoin pour votre appareil :

Les conducteurs d’autobus participent également au réveil du système. Le pilote du bus de l’appareil fournit généralement des fonctions de rappel EvtDeviceEnableWakeAtBus et EvtDeviceDisableWakeAtBus . Ces fonctions font tout ce qui est nécessaire sur l’adaptateur de bus pour activer et désactiver la capacité d’un appareil à sortir d’un état de faible consommation.

Lorsqu’un pilote de bus détermine qu’un appareil a déclenché un signal de veille, il doit appeler WdfDeviceIndicateWakeStatus pour informer l’infrastructure que l’alimentation de l’appareil doit être restaurée. L’infrastructure transmet ensuite ces informations au reste des pilotes dans la pile de pilotes.

Pour plus d’informations sur les entrées de Registre qui contrôlent les fonctionnalités de veille d’un appareil, consultez Contrôle utilisateur du comportement d’inactivité et de veille de l’appareil.