Что означает код NTSTATUS 0xC023001D (STATUS_NDIS_ALREADY_MAPPED)?

 
Предыдущий Следующий
STATUS_NDIS_ERROR_READING_FILE STATUS_NDIS_RESOURCE_CONFLICT

STATUS_NDIS_ALREADY_MAPPED

Драйвер пытается дважды отобразить один дескриптор файла NDIS

STATUS_NDIS_ALREADY_MAPPED — это ошибка времени жизни дескриптора файла, а не ошибка поиска файловой системы. NdisMapFile отображает уже открытый файл только когда он в данный момент не отображён; пока отображение активно, вызывающий код имеет исключительный доступ к содержимому до вызова NdisUnmapFile , освобождающего отображение.

Ищите путь инициализации, повторяющий операцию без очистки, общий помощник, отображающий образ микропрограммы для двух потребителей, или путь ошибки, пропускающий отмену отображения. Обычно исправление заключается в детерминированном управлении временем жизни: отображение, использование, отмена отображения и закрытие.

Данные, сужающие поиск

  • Отслеживайте каждый вызов NdisMapFile, NdisUnmapFile, и NdisCloseFile для одного дескриптора файла.
  • Убедитесь, что пути повтора не входят повторно в отображение, пока предыдущее отображение остаётся активным.
  • Отличайте это от STATUS_NDIS_ERROR_READING_FILE, который возникает при получении содержимого файла.

Ссылки


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