Partager via


IRP_MN_STOP_DEVICE

Tous les pilotes PnP doivent gérer cette IRP.

Valeur

0x04

Code majeur

IRP_MJ_PNP

Date d’envoi

Le gestionnaire PnP envoie cette IRP pour arrêter un appareil afin qu’il puisse reconfigurer les ressources matérielles de l’appareil.

Sur les systèmes Windows 2000 et versions ultérieures, le gestionnaire PnP envoie cette IRP uniquement si un IRP_MN_QUERY_STOP_DEVICE terminé avec succès.

Sur Windows 98/Me, le gestionnaire PnP envoie également cette IRP lorsqu’un appareil est désactivé et lorsqu’une pile d’appareils a échoué à une demande de IRP_MN_START_DEVICE . En cas d’échec du démarrage, le gestionnaire PnP envoie cette IRP sans demande de IRP_MN_QUERY_STOP_DEVICE précédente.

Le gestionnaire PnP envoie cette IRP à IRQL PASSIVE_LEVEL dans le contexte d’un thread système.

Paramètres d’entrée

Aucun

Paramètres de sortie

None

Bloc d’état E/S

Un pilote doit définir Irp-IoStatus.Status> sur STATUS_SUCCESS.

Opération

Cette IRP est d’abord gérée par le pilote en haut de la pile de périphériques, puis transmise à chaque pilote inférieur de la pile.

En réponse à cette IRP, les pilotes Windows 2000 et versions ultérieures arrêtent l’appareil et libèrent toutes les ressources matérielles utilisées par l’appareil, telles que les ports d’E/S et les interruptions.

Sur Windows 2000 et versions ultérieures, un IRP d’arrêt est utilisé uniquement pour libérer les ressources matérielles d’un appareil afin qu’elles puissent être reconfigurées. Une fois les ressources reconfigurées, l’appareil est redémarré. Un IRP d’arrêt n’est pas un précurseur d’un IRP de suppression. Consultez Plug-and-Play pour plus d’informations sur l’ordre dans lequel les IRP PnP sont envoyés aux appareils.

Sur Windows 98/Me, un IRP d’arrêt est également utilisé après un échec de démarrage et lorsqu’un appareil est désactivé. Les pilotes WDM qui s’exécutent sur ces systèmes d’exploitation doivent arrêter l’appareil, échouer toutes les E/S entrantes et désactiver et annuler l’inscription des interfaces en mode utilisateur.

Un pilote ne doit pas faire échouer cette IRP. Si un pilote ne peut pas libérer les ressources matérielles de l’appareil, il doit échouer à l’IRP d’arrêt de requête précédent.

Pour plus d’informations sur la gestion des irps d’arrêt, consultez Arrêt d’un appareil .

Envoi de cette IRP

Réservé pour le système. Les pilotes ne doivent pas envoyer cette IRP.

Spécifications

En-tête

Wdm.h (inclure Wdm.h, Ntddk.h ou Ntifs.h)

Voir aussi

IRP_MN_QUERY_STOP_DEVICE

IRP_MN_START_DEVICE

IoSetDeviceInterfaceState

IoRegisterDeviceInterface