Что означает код NTSTATUS 0xC01C000C (STATUS_FLT_MUST_BE_NONPAGED_POOL)?

 
Предыдущий Следующий
STATUS_FLT_DELETING_OBJECT STATUS_FLT_DUPLICATE_ENTRY

STATUS_FLT_MUST_BE_NONPAGED_POOL

Этот статус относится к резидентности памяти контекста диспетчера фильтров. Доступ к соответствующему контексту возможен там, где страничная память недопустима, поэтому схема регистрации, выделения и очистки должна использовать нестраничное хранилище.

Не устраняйте симптом одной лишь заменой тега выделения или ручным выделением несвязанной структуры. Проверьте тип контекста и его FLT_CONTEXT_REGISTRATION запись, флаги пула, запрошенные у диспетчера фильтров, и каждый обратный вызов, который может обращаться к контексту. Временем жизни контекста по-прежнему управляет диспетчер фильтров, и оно должно соответствовать его правилам подсчёта ссылок.

Контрольный список

  • Тип контекста, флаги регистрации, размер выделения и обратный вызов очистки.
  • Обращается ли код к контексту на путях, где страничная память недопустима.
  • Ссылки, удерживаемые во время удаления, и код, вызывающий FltReleaseContext.

Управление контекстами мини-фильтра | FltAllocateContext | Справочник NTSTATUS


Нужно найти другой код? Найти другой код состояния или ошибки.