Função IoRegisterLastChanceShutdownNotification (wdm.h)
A rotina IoRegisterLastChanceShutdownNotification registra um driver para receber um IRP IRP_MJ_SHUTDOWN 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 do dispositivo para o qual o driver solicita notificação de desligamento. O sistema passa esse ponteiro para a rotina de dispatchShutdown do driver.
Valor de retorno
IoRegisterLastChanceShutdownNotification retorna STATUS_SUCCESS com êxito ou o código de erro NTSTATUS apropriado sobre falha.
Observações
A rotina de 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 motoristas lidam com IRP_MJ_SHUTDOWN IRPs em suas rotinas de DispatchShutdown.
Para qualquer dispositivo registrado com essa rotina, o sistema envia o IRP IRP_MJ_SHUTDOWN 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 de DispatchShutdown:
- A rotina de DispatchShutdown não deve chamar rotinas pagináveis.
- A rotina de dispatchShutdown não deve acessar a memória paginável.
- A rotina de dispatchShutdown não deve executar nenhuma operação de E/S de arquivo.
A rotina de DispatchShutdown registrada é chamada antes que o power manager envie uma solicitação IRP_MN_SET_POWER para PowerSystemShutdown. A rotina de DispatchShutdown não é chamada para transições para outros estados de energia.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Windows 2000 e versões posteriores do Windows. Não disponível no Microsoft Windows 98/Me. |
da Plataforma de Destino | Universal |
cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
regras de conformidade de DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |