Función IoRegisterLastChanceShutdownNotification (wdm.h)
La rutina IoRegisterLastChanceShutdownNotification registra un controlador para recibir un IRP de IRP_MJ_SHUTDOWN cuando se apaga el sistema, después de que se hayan vaciado todos los sistemas de archivos.
Sintaxis
NTSTATUS IoRegisterLastChanceShutdownNotification(
[in] PDEVICE_OBJECT DeviceObject
);
Parámetros
[in] DeviceObject
Puntero al objeto de dispositivo del dispositivo para el que el controlador solicita la notificación de apagado. El sistema pasa este puntero a la rutina DispatchShutdown del controlador.
Valor devuelto
IoRegisterLastChanceShutdownNotification devuelve STATUS_SUCCESS correctamente o el código de error NTSTATUS adecuado en caso de error.
Comentarios
La rutina IoRegisterLastChanceShutdownNotification registra el controlador para recibir un IRP de IRP_MJ_SHUTDOWN para el dispositivo especificado cuando el sistema se apaga. El controlador recibe uno de estos IRP para cada dispositivo para el que se registra para recibir notificaciones. Los controladores controlan IRP_MJ_SHUTDOWN IRP dentro de sus rutinas DispatchShutdown .
Para cualquier dispositivo registrado con esta rutina, el sistema envía el IRP_MJ_SHUTDOWN IRP después de que se vacían todos los sistemas de archivos. Solo un controlador de una pila de dispositivos debe registrarse para recibir una notificación de apagado mediante una llamada a IoRegisterShutdownNotification o IoRegisterLastChanceShutdownNotification.
Si el controlador deja de requerir una notificación de apagado para ese dispositivo, use IoUnregisterShutdownNotification para quitar el controlador de la cola de notificaciones de apagado.
Un controlador que llama a IoRegisterLastChanceShutdownNotification debe satisfacer las siguientes restricciones en su rutina DispatchShutdown :
- La rutina DispatchShutdown no debe llamar a ninguna rutina paginable.
- La rutina DispatchShutdown no debe tener acceso a la memoria paginable.
- La rutina DispatchShutdown no debe realizar ninguna operación de E/S de archivos.
Se llama a la rutina DispatchShutdown registrada antes de que el administrador de energía envíe una solicitud de IRP_MN_SET_POWER para PowerSystemShutdown. No se llama a la rutina DispatchShutdown para las transiciones a ningún otro estado de energía.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows 2000 y versiones posteriores de Windows. No está disponible en Microsoft Windows 98/Me. |
Plataforma de destino | Universal |
Encabezado | wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |