Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La routine IoRegisterShutdownNotification inscrit le pilote pour recevoir un IRP IRP_MJ_SHUTDOWN lorsque le système est arrêté.
Syntaxe
NTSTATUS IoRegisterShutdownNotification(
[in] PDEVICE_OBJECT DeviceObject
);
Paramètres
[in] DeviceObject
Pointeur vers l’objet d’appareil de l’appareil pour lequel le pilote demande la notification d’arrêt. Le système transmet ce pointeur à la routine DispatchShutdown du pilote.
Valeur de retour
IoRegisterShutdownNotification retourne STATUS_SUCCESS en cas de réussite ou le code d’erreur NTSTATUS approprié en cas d’échec.
Remarques
La routine IoRegisterShutdownNotification inscrit le pilote pour recevoir un IRP IRP_MJ_SHUTDOWN pour l’appareil spécifié lors de l’arrêt du système. Le pilote reçoit un de ces IRP pour chaque appareil pour lequel il s’inscrit pour recevoir une notification. Les pilotes gèrent IRP_MJ_SHUTDOWN irPs au sein de leurs routines DispatchShutdown.
Si le pilote cesse de nécessiter une notification d’arrêt pour l’appareil, utilisez IoUnregisterShutdownNotification pour supprimer le pilote de la file d’attente de notification d’arrêt.
Un seul pilote dans une pile d’appareils doit s’inscrire pour recevoir une notification d’arrêt.
Le système envoie le pilote à la demande IRP_MJ_SHUTDOWN avant de vider les systèmes de fichiers. Certains pilotes, tels que les pilotes pour les périphériques de stockage de masse, peuvent nécessiter une notification d’arrêt après que le système a vidé les systèmes de fichiers. Pour recevoir une notification d’arrêt pour un appareil une fois les systèmes de fichiers vidés, utilisez plutôt la routine IoRegisterLastChanceShutdownNotification.
La routine de dispatchShutdown inscrite est appelée avant que le gestionnaire d’alimentation envoie une demande de IRP_MN_SET_POWER pour PowerSystemShutdown. La routine DispatchShutdown n’est pas appelée pour les transitions vers d’autres états de puissance.
Un enregistreur de pilotes ne peut faire aucune hypothèse sur l’ordre dans lequel le DispatchShutdown routine sera appelé par rapport à d’autres routines ou à d’autres activités d’arrêt.
Un pilote PnP peut inscrire une routine d’arrêt pour effectuer certaines tâches avant le démarrage de l’arrêt du système, comme le verrouillage du code.
Exigences
| Exigence | Valeur |
|---|---|
| client minimum pris en charge | Disponible dans Windows 2000 et versions ultérieures de Windows. Non disponible dans Microsoft Windows 98/Me. |
| plateforme cible | Universel |
| d’en-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
| bibliothèque | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | PASSIVE_LEVEL |
| règles de conformité DDI | HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm) |