ioRegisterLastChanceShutdownNotification 函式 (wdm.h)
IoRegisterLastChanceShutdownNotification 例程會註冊驅動程式,以在系統關閉時接收IRP_MJ_SHUTDOWN IRP,並排清所有文件系統之後。
語法
NTSTATUS IoRegisterLastChanceShutdownNotification(
[in] PDEVICE_OBJECT DeviceObject
);
參數
[in] DeviceObject
驅動程式要求關機通知之裝置裝置物件的指標。 系統會將此指標傳遞至驅動程式的 DispatchShutdown 例程。
傳回值
IoRegisterLastChanceShutdownNotification 會在成功時傳回STATUS_SUCCESS,或在失敗時傳回適當的NTSTATUS錯誤碼。
備註
IoRegisterLastChanceShutdownNotification 例程會註冊驅動程式,以在系統關閉時接收指定裝置的IRP_MJ_SHUTDOWN IRP。 驅動程式會為其註冊的每個裝置接收一個這類 IRP,以接收通知。 驅動程式會在其 DispatchShutdown 例程內處理IRP_MJ_SHUTDOWN IRP。
針對向這個例程註冊的任何裝置,系統會在所有文件系統排清之後傳送 IRP_MJ_SHUTDOWN IRP。 裝置堆疊中只有一個驅動程式應該註冊以接收關機通知,方法是呼叫 IoRegisterShutdownNotification 或 IoRegisterLastChanceShutdownNotification。
如果驅動程式停止要求該裝置的關機通知,請使用 IoUnregisterShutdownNotification 從關機通知佇列中移除驅動程式。
呼叫 IoRegisterLastChanceShutdownNotification 的驅動程式必須滿足 其 DispatchShutdown 例程中的下列限制:
- DispatchShutdown 例程不得呼叫任何可分頁的例程。
- DispatchShutdown 例程不得存取可分頁記憶體。
- DispatchShutdown 例程不得執行任何檔案 I/O 作業。
在 Power Manager 傳送 PowerSystemShutdown的IRP_MN_SET_POWER要求之前,會呼叫已註冊的 DispatchShutdown 例程。 不會呼叫 DispatchShutdown 例程,以轉換至任何其他電源狀態。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows 2000 和更新版本的 Windows 中使用。 無法在 Microsoft Windows 98/Me 中使用。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDDIs (storport) 、 PowerIrpDDis (wdm) |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應