Что означает код NTSTATUS 0xC000009A (STATUS_INSUFFICIENT_RESOURCES)?

 
Предыдущий Следующий
STATUS_ALLOTTED_SPACE_EXCEEDED STATUS_DFS_EXIT_PATH_FOUND

STATUS_INSUFFICIENT_RESOURCES

Недостаточно системных ресурсов для операции

STATUS_INSUFFICIENT_RESOURCES не следует автоматически трактовать как «закончилась оперативная память». Отказ может относиться к конкретному пулу, квоте, объектам ядра, MDL, дескрипторам, непрерывному диапазону или другому ограниченному ресурсу. Для драйверов особенно важен точный контекст выделения и уровень IRQL.

Запишите тип ресурса, запрошенный размер, pool tag или тип объекта и все уже удерживаемые ресурсы. Проверьте обработку неуспешного выделения на каждом пути очистки. Driver Verifier с моделированием недостатка ресурсов полезен для воспроизведения таких ветвей. Повторная попытка допустима только там, где контракт операции допускает временный дефицит; бесконечный retry может усугубить давление на систему.

Что проверить

  • Определите конкретный ресурс, а не только общий объём RAM.
  • Проверьте освобождение частично созданных объектов при неудаче.
  • Для драйвера протестируйте ветви low-resource через Driver Verifier.

Технические ссылки


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