| Предыдущий | Следующий |
| NO_MORE_SYSTEM_PTES | MUST_SUCCEED_POOL_EMPTY |
TARGET_MDL_TOO_SMALL
Проверка TARGET_MDL_TOO_SMALL имеет значение 0x00000040. Она означает, что драйвер неправильно использовал IoBuildPartialMdl.
Параметры TARGET_MDL_TOO_SMALL
Нет
Причина
Это ошибка драйвера. Драйвер вызвал функцию IoBuildPartialMdl и передал ей MDL для отображения части исходного MDL, но целевой MDL недостаточно велик для отображения всего запрошенного диапазона адресов.
Решение
Исходный и целевой MDL, а также длина отображаемого диапазона адресов являются первым, вторым и четвёртым аргументами функции IoBuildPartialMdl. Поэтому при отладке может помочь трассировка стека этой функции. Убедитесь, что код правильно вычисляет необходимый размер целевого MDL для длины диапазона адресов, передаваемой функции.
Что проверить
MDL, переданный как целевой, не описывает достаточно большой буфер для выполняемой операции. Сравните размер запроса с byte count и диапазоном MDL, затем найдите драйвер, сформировавший его. Исправление должно корректировать размер/разбиение I/O, а не обходить проверку.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.