Un utilisateur débranche un appareil (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.
Pendant qu’un système est en cours d’exécution, un utilisateur peut supprimer un appareil de l’une des deux manières suivantes : par suppression ordonnée, ce qui signifie que l’utilisateur informe le système que l’appareil est sur le point d’être supprimé (par exemple, à l’aide du programme Débrancher ou Éjecter du matériel) ; ou par suppression surprise, ce qui signifie que l’utilisateur débranche l’appareil sans en informer le système. Si le bus prend en charge le retrait surprise (par exemple, USB), les pilotes de l’appareil doivent être en mesure de gérer la disparition soudaine de l’appareil.
Suppression ordonnée
L’utilisateur demande la suppression en utilisant le programme Unplug or Eject Hardware du système, en désactivant l’appareil à l’aide de Gestionnaire de périphériques ou en appuyant sur le bouton éjectable d’un appareil éjectable. L’infrastructure permet de supprimer ou de désactiver l’appareil, sauf si le pilote a fourni une fonction de rappel IPnpCallback ::OnQueryRemove et que la fonction de rappel a opposé son veto à la suppression.
La figure suivante montre la séquence de rappels UMDF lors de la mise hors tension et de la suppression. La séquence commence en haut de la figure avec un appareil à l’état d’alimentation opérationnelle (D0).
Suppression surprise
Dans ce scénario, un utilisateur débranche un appareil de manière inattendue. Dans la séquence de suppression de surprise, UMDF appelle le rappel IPnpCallback ::OnSurpriseRemoval pour avertir le pilote que l’appareil a été supprimé de manière inattendue. Il n’est pas garanti que ce rappel se produise dans un ordre particulier avec les autres rappels dans la séquence de suppression.
En règle générale, le pilote doit éviter d’accéder au matériel dans le chemin d’accès de suppression. Le réflecteur expire si une tentative d’accès au matériel attend indéfiniment. La figure suivante montre la séquence de suppression de surprise pour un pilote UMDF.