Função IoRegisterLastChanceShutdownNotification (wdm.h)
A rotina IoRegisterLastChanceShutdownNotification registra um driver para receber uma IRP_MJ_SHUTDOWN IRP quando o sistema é desligado, depois que todos os sistemas de arquivos são liberados.
Sintaxe
NTSTATUS IoRegisterLastChanceShutdownNotification(
[in] PDEVICE_OBJECT DeviceObject
);
Parâmetros
[in] DeviceObject
Ponteiro para o objeto de dispositivo do dispositivo para o qual o driver solicita notificação de desligamento. O sistema passa esse ponteiro para a rotina DispatchShutdown do driver.
Retornar valor
IoRegisterLastChanceShutdownNotification retorna STATUS_SUCCESS com êxito ou o código de erro NTSTATUS apropriado em caso de falha.
Comentários
A rotina IoRegisterLastChanceShutdownNotification registra o driver para receber um IRP IRP_MJ_SHUTDOWN para o dispositivo especificado quando o sistema é desligado. O driver recebe um desses IRP para cada dispositivo para o qual ele se registra para receber notificação. Os drivers lidam com IRP_MJ_SHUTDOWN IRPs dentro de suas rotinas DispatchShutdown .
Para qualquer dispositivo registrado com essa rotina, o sistema envia a IRP_MJ_SHUTDOWN IRP depois que todos os sistemas de arquivos são liberados. Apenas um driver em uma pilha de dispositivos deve se registrar para receber notificação de desligamento, chamando IoRegisterShutdownNotification ou IoRegisterLastChanceShutdownNotification.
Se o driver deixar de exigir notificação de desligamento para esse dispositivo, use IoUnregisterShutdownNotification para remover o driver da fila de notificação de desligamento.
Um driver que chama IoRegisterLastChanceShutdownNotification deve atender às seguintes restrições em sua rotina DispatchShutdown :
- A rotina DispatchShutdown não deve chamar nenhuma rotina paginável.
- A rotina DispatchShutdown não deve acessar a memória paginável.
- A rotina DispatchShutdown não deve executar nenhuma operação de E/S de arquivo.
A rotina dispatchShutdown registrada é chamada antes que o power manager envie uma solicitação de IRP_MN_SET_POWER para PowerSystemShutdown. A rotina DispatchShutdown não é chamada para transições para outros estados de energia.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Windows 2000 e versões posteriores do Windows. Não disponível no Microsoft Windows 98/Me. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Regras de conformidade de DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |