| Предыдущий | Следующий |
| STATUS_MOUNT_POINT_NOT_RESOLVED | STATUS_MCA_OCCURED |
STATUS_INVALID_DEVICE_OBJECT_PARAMETER
Идентичность объекта устройства не соответствует операции
API ядра часто требуют конкретной роли объекта: PDO, FDO, верхнего объекта стека, объекта устройства тома или объекта, присоединённого к именованной файловой системе. Ненулевой указатель всё равно может быть неверным, если он принадлежит другому стеку, уже удалён или был сохранён без требуемой ссылки.
Не приводите и не подставляйте соседний объект устройства только ради выполнения вызова. Проследите, как был получен указатель и какая ссылка защищает его время жизни. Для операций файловой системы сравните объект с фактически смонтированным томом; для вызовов PnP и питания проверьте ожидаемую позицию в стеке и текущее состояние устройства.
Что проверить
- Журналируйте адреса объектов, имена драйверов, цепочку стека и путь получения ссылки.
- Уточните, требует ли API PDO, FDO, присоединённый объект или объект тома.
- Проверьте гонки удаления и освобождайте устаревшие закешированные указатели при перестроении стека устройства.
Ссылки
- Microsoft: объекты и стеки устройств
- Microsoft: состояния устройств PnP
- Microsoft: удаление устройства
- Открытые спецификации Microsoft: значения NTSTATUS
- Исходный код ReactOS: обработка действий устройств PnP
Нужно найти другой код? Найти другой код состояния или ошибки.