Partager via


Le Gestionnaire PnP redistribue les ressources système (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.

Si un utilisateur ajoute un appareil à un système et si l’appareil a besoin de ressources système que le gestionnaire PnP a déjà attribuées à un autre appareil, le gestionnaire PnP tente de réaffecter des ressources.

Pendant ce processus, le gestionnaire PnP arrête les appareils et les sort de leurs états de travail (D0). Il fournit ensuite de nouvelles listes de ressources aux appareils afin qu’ils puissent redémarrer, à l’aide des nouvelles ressources.

Lors de la redistribution des ressources, le gestionnaire PnP ne modifie pas l’attribution de ressources d’un appareil si l’un des pilotes UMDF de l’appareil a fourni une fonction de rappel IPnpCallback::OnQueryStop et que la fonction de rappel a opposé son veto à la réaffectation.

Séquence de mise hors tension
Pour chaque pilote de filtre et de fonction basé sur UMDF qui prend en charge l’appareil en cours d’arrêt, 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, l’infrastructure 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.

  3. L’infrastructure appelle la fonction de rappel IPnpCallback::OnD0Exit du pilote (si elle existe).

  4. L’infrastructure appelle la fonction de rappel IPnpCallbackHardware::OnReleaseHardware du pilote (si elle existe) en passant la liste des ressources matérielles que le gestionnaire PnP a attribuées à l’appareil.

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

Séquence de mise sous tension
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 :

  1. L’infrastructure appelle la fonction de rappel IPnpCallbackHardware::OnPrepareHardware du pilote (si elle existe), en transmettant la liste des ressources matérielles que le gestionnaire PnP a attribuées à l’appareil.

  2. L’infrastructure appelle la fonction de rappel IPnpCallback::OnD0Entry du pilote (si elle existe).

  3. L’infrastructure redémarre toutes les files d’attente d’E/S gérées par l’alimentation de l’appareil.

  4. 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).