Partager via


IRP mineures "Plug and Play

Cette section décrit les adresses IP IRP PnP envoyées aux pilotes. All PnP IRPs have the major function code IRP_MJ_PNP and a minor function code indicating the particular PnP request.

Cette section fournit des informations de référence pour les fournisseurs d’intégration individuels. Consultez Plug-and-Play pour obtenir une description de l’ordre dans lequel les IRP sont envoyés, une discussion sur la façon de gérer les irPs dans les routines DispatchPnP et une discussion générale sur les concepts et la terminologie PnP.

Pour chaque IRP et chaque type de pilote, un pilote est nécessaire pour gérer l’IRP, peut éventuellement gérer l’IRP, ou ne doit pas gérer l’IRP. Consultez le tableau ci-dessous pour identifier les FOURNISSEURS d’intégration gérés par votre pilote, puis consultez les pages de référence pour plus d’informations sur les fournisseurs d’intégration individuels. Les irps sont répertoriés dans l’ordre fonctionnel dans le tableau et dans l’ordre alphabétique dans les pages de référence IRP.

Si un IRP est marqué « Non » dans la table d’un pilote particulier, ce pilote ne doit pas gérer l’IRP. Le pilote doit passer l’IRP au pilote suivant dans la pile d’appareils, comme décrit dans la page de référence de l’IRP.

Le gestionnaire PnP envoie ces IRP. Les pilotes PnP peuvent envoyer certains de ces IRP, mais uniquement ceux indiqués dans cette section.

Voici les codes de fonction secondaires pour les irps PnP et les types de pilotes qui les gèrent :

Code de fonction secondaire PnP IRP Value Pilote de fonction ou de filtre pour un périphérique nonbus Pilote de fonction pour le périphérique bus (pour le FDO bus) Pilote de bus ou pilote de filtre de bus (pour les PDA enfants)
IRP_MN_START_DEVICE 0x00 Required Required Required
IRP_MN_QUERY_REMOVE_DEVICE 0x01 Required Required Required
IRP_MN_REMOVE_DEVICE 0x02 Required Required Required
IRP_MN_CANCEL_REMOVE_DEVICE 0x03 Required Required Required
IRP_MN_STOP_DEVICE 0x04 Required Required Required
IRP_MN_QUERY_STOP_DEVICE 0x05 Required Required Required
IRP_MN_CANCEL_STOP_DEVICE 0x06 Required Required Required
IRP_MN_QUERY_DEVICE_RELATIONS 0x07
- BusRelations x Optional (1) Required No (2)
- EjectionRelations x No No Optional
- RemovalRelations x Optional Optional No
- TargetDeviceRelation x No No Required
IRP_MN_QUERY_INTERFACE 0x08 Optional Optional Required (1)
IRP_MN_QUERY_CAPABILITIES 0x09 Optional Facultatif ou Obligatoire
IRP_MN_QUERY_RESOURCES 0x0A No No Required (1)
IRP_MN_QUERY_RESOURCE_REQUIREMENTS 0x0B No No Required (1)
IRP_MN_QUERY_DEVICE_TEXT 0x0C No No Required (1)
IRP_MN_FILTER_RESOURCE_REQUIREMENTS 0x0D Optional (1) Optional (1) No
IRP_MN_READ_CONFIG 0x0F No No Required (1)
IRP_MN_WRITE_CONFIG 0x10 No No Required (1)
IRP_MN_EJECT 0x11 No No Required
IRP_MN_SET_LOCK 0x12 No No Required (1)
IRP_MN_QUERY_ID 0x13
- BusQueryDeviceID x No No Required
- BusQueryHardwareIDs x No No Optional
- BusQueryCompatibleIDs x No Non ou facultatif
- BusQueryInstanceID x No No Optional
- BusQueryContainerID x No No Required (3)
IRP_MN_QUERY_PNP_DEVICE_STATE 0x14 Optional Optional Optional
IRP_MN_QUERY_BUS_INFORMATION 0x15 No No Required (1)
IRP_MN_DEVICE_USAGE_NOTIFICATION 0x16 Required (1) Required (1) Required (1)
IRP_MN_SURPRISE_REMOVAL 0x17 Required Required Required
IRP_MN_DEVICE_ENUMERATED 0x19 No No Required (1)

(1) Obligatoire ou facultatif dans certaines situations. Pour plus d’informations, consultez la page de référence de l’IRP.

(2) Bus filter drivers might handle a query for BusRelations.

(3) Pris en charge dans Windows 7 et versions ultérieures de Windows.