Un appareil retourne à son état de fonctionnement (UMDF 1)
Avertissement
UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2.
Les exemples UMDF 1 archivés se trouvent dans la Windows 11, version 22H2 - Mise à jour des exemples de pilotes de mai 2022.
Pour plus d’informations, consultez Prise en main avec UMDF.
Un appareil qui est dans un état de faible consommation d’énergie retourne à son état de fonctionnement si l’une des opérations suivantes se produit :
L’appareil détecte un événement externe et déclenche un signal de veille sur son bus. Le pilote de bus en mode noyau détecte le signal de veille.
L’appareil a été inactif et un pilote appelle IWDFDevice2::StopIdle.
L’état d’alimentation du système est passé d’un état de faible puissance à son état de fonctionnement (S0).
Dans chacune de ces situations, le pilote de bus en mode noyau restaure l’appareil (un appareil enfant du bus) à son état de fonctionnement (D0).
Pour chaque pilote de fonction et de filtre basé sur UMDF qui prend en charge l’appareil, l’infrastructure effectue les opérations suivantes, dans l’ordre, un pilote à la fois, en commençant par le pilote le plus bas dans la pile de pilotes :
L’infrastructure appelle la fonction de rappel IPnpCallback::OnD0Entry du pilote (si elle existe).
Si le pilote est le propriétaire de la stratégie d’alimentation de l’appareil, l’infrastructure appelle sa fonction de rappel IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0 ou IPowerPolicyCallbackWakeFromSx::OnDisarmWakeFromSx .
L’infrastructure redémarre toutes les files d’attente d’E/S gérées par l’alimentation de l’appareil et appelle leurs fonctions de rappel IQueueCallbackIoResume::OnIoResume (si nécessaire).
Si le pilote utilise des E/S autogérées, l’infrastructure appelle la fonction de rappel IPnpCallbackSelfManagedIo::OnSelfManagedIoRestart du pilote.
Pour afficher un diagramme montrant ces étapes, consultez Plugs in a Device (Un utilisateur plugs in a Device).