| Previous | Next |
| ERROR_FLT_DELETING_OBJECT | ERROR_FLT_DUPLICATE_ENTRY |
ERROR_FLT_MUST_BE_NONPAGED_POOL
The context may be accessed where paging is impossible
ERROR_FLT_MUST_BE_NONPAGED_POOL means a context allocation or registration used a pageable pool for a context type that Filter Manager requires to be resident. Volume contexts are the documented example for FltAllocateContext; the pool choice must be NonPagedPool or the supported NX nonpaged equivalent because callbacks can reference the object where page faults are not allowed.
Changing only the call-site pool argument is insufficient when a custom ContextAllocateCallback or registration entry still returns pageable storage. The allocation and free callbacks, registered size, and runtime request must describe the same memory contract, including the executable/non-executable policy expected by current Windows versions.
Memory-contract checks
- Identify the exact
FLT_CONTEXT_TYPErequested when the status was returned. - Compare the runtime pool type with the matching
FLT_CONTEXT_REGISTRATIONentry. - Use nonpaged NX memory for context data that never contains executable code.
- Keep pageable pointers out of fields that callbacks can dereference at elevated IRQL.
References
- Microsoft: FltAllocateContext pool requirements
- Microsoft: FLT_CONTEXT_REGISTRATION
- Microsoft: registering minifilter context types
Looking for a different code? Search another status or error code.