Partager via


Instructions relatives à la conception de pilotes PnP

Plug-and-Play fournit :

  • Reconnaissance automatique et dynamique du matériel installé

  • Allocation de ressources matérielles (et réaffectation)

  • Chargement des pilotes appropriés

  • Interface permettant aux pilotes d’interagir avec le système PnP

  • Mécanismes permettant aux pilotes et aux applications d’apprendre les modifications apportées à l’environnement matériel

Pour prendre en charge PnP, un pilote doit suivre les instructions suivantes :

  • Il doit contenir une routine DispatchPnP .

    Cette routine de répartition doit gérer IRP_MJ_PNP demandes et les codes de fonction mineurs associés. Pour plus d’informations, consultez DispatchPnP Routines.

  • Il ne doit pas rechercher de matériel.

    Le gestionnaire PnP est chargé de déterminer la présence de périphériques matériels. Lorsque le gestionnaire PnP détecte un appareil, il avertit le pilote en appelant sa routine AddDevice . Le matériel peut être détecté lorsque le système est démarré, ou à chaque fois qu’un utilisateur ajoute un appareil à un système en cours d’exécution ou en supprime un.

  • Il ne doit pas allouer de ressources matérielles.

    Un pilote PnP doit fournir au gestionnaire PnP des listes de ressources qu’un appareil peut potentiellement utiliser. Le gestionnaire PnP est chargé d’affecter des ressources à chaque appareil et d’informer le pilote des affectations de chaque appareil lorsqu’il envoie une demande de IRP_MN_START_DEVICE . Le pilote doit donc être capable d’utiliser différentes configurations de ressources matérielles.

Certains pilotes sont isolés des détails du PnP et de la gestion de l’alimentation par des pilotes de port ou de classe fournis par le système. Par exemple, un pilote de port SCSI isole un pilote miniport SCSI de la plupart des détails des systèmes d’alimentation et PnP, de sorte qu’un pilote miniport SCSI n’a pas besoin de gérer directement l’alimentation et les IIP PnP. Pour de tels pilotes, consultez la documentation spécifique aux pilotes pour plus d’informations sur la prise en charge PnP requise.