我有一個文件篩選器驅動程序,應該在特定情況下禁止文件/目錄訪問。 我使用IoRegisterFsRegistrationChange
來獲取有關文件系統更改的通知,並附加到適當的卷設備對象。文件篩選器驅動程序頁面文件
它通常是一個傳遞過濾器。它處理的唯一事情是IRP_MJ_CREATE
(實際上禁止某些類型的文件/目錄訪問)。所有其他IRP
和快速I/O請求都只傳遞給底層設備。
它工作正常,除了一件事。如果驅動程序在系統啓動時加載(SERVICE_SYSTEM_START
) - 因爲我不太明白系統頁面文件被禁用。用戶登錄後會顯示「性能選項」彈出式對話框。虛擬內存分頁文件被禁用(這是什麼觸發這個對話框彈出恕我直言)。
如果驅動程序在後期動態加載 - 沒有明顯問題,一切正常。
我試圖禁用IRP_MJ_CREATE
(只是像所有其他請求一樣傳遞)的處理,但沒有任何更改。
我明白,通常很難說沒有看到代碼就問題出在哪裏。但無論如何,這是一個已知的問題嗎?我應該檢查什麼?這是不是以正確方式傳遞某些請求的一種症狀,或者將設備對象附加到卷設備對象的偶然事實可能會導致這樣的問題?
歡迎所有可能的想法。提前致謝。