Partager via


Un appareil entre dans un état Low-Power (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 sont disponibles dans la mise à jour des exemples de pilotes Windows 11, version 22H2 - Mai 2022.

Pour plus d’informations, consultez Prise en main avec UMDF.

Un appareil quitte son état de fonctionnement (D0) et passe à un état de faible consommation d’énergie si l’un des éléments suivants se produit :

  • L’appareil est inactif (c’est-à-dire qu’il n’est pas accessible) et peut entrer dans un état d’inactivité à faible consommation d’énergie pendant que le système reste dans son état de fonctionnement (S0).

  • L’état d’alimentation du système est passé de son état de fonctionnement (S0) à un état de faible consommation. (Les pilotes peuvent appeler IWDFDevice2::GetSystemPowerAction pour déterminer la raison de la modification de l’état d’alimentation du système.)

Pour chaque pilote de fonction et de filtre UMDF qui prend en charge le périphérique, l’infrastructure effectue les opérations suivantes, dans l’ordre, un pilote à la fois, en commençant par le pilote le plus élevé dans la pile de pilotes :

  1. Si le pilote utilise des E/S autogérées, le framework appelle la fonction de rappel IPnpCallbackSelfManagedIo::OnSelfManagedIoSuspend du pilote.

  2. L’infrastructure arrête toutes les files d’attente d’E/S gérées par l’alimentation de l’appareil et appelle leurs fonctions de rappel IPnpCallbackSelfManagedIo::OnSelfManagedIoStop (si elles existent).

  3. Si le pilote est le propriétaire de la stratégie d’alimentation de l’appareil, le framework appelle sa fonction de rappel IPowerPolicyCallbackWakeFromS0::OnArmWakeFromS0 ou IPowerPolicyCallbackWakeFromSx::OnArmWakeFromSx .

  4. Le framework appelle la fonction de rappel IPnpCallback::OnD0Exit du pilote (si elle existe).

Pour afficher un diagramme montrant ces étapes, consultez la figure de suppression ordonnée dans Un utilisateur débranche un appareil.