Что означает код BSOD 0x16E (ERESOURCE_INVALID_RELEASE)?

 
Также может означать:
КонстантаТипОС
ERROR_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCHОшибка WindowsWindows
Предыдущий Следующий
INVALID_SLOT_ALLOCATOR_FLAGS CLUSTER_CSV_STATE_TRANSITION_INTERVAL_TIMEOUT_LIVEDUMP

ERESOURCE_INVALID_RELEASE

Код проверки ошибки ERESOURCE_INVALID_RELEASE имеет значение 0x0000016E. Он указывает, что переданный функции ExReleaseResourceForThreadLite указатель на целевой поток недействителен.

Параметры ERESOURCE_INVALID_RELEASE

Параметр Описание
1 Освобождаемый ресурс
2 Текущий поток
3 Переданный неверный целевой поток
4 Зарезервировано

Причина

Эта проверка ошибки срабатывает, если клиент API пропустил вызов ExSetOwnerPointerEx при предполагаемом освобождении из другого потока либо вызывающая сторона случайно передала значение, отличное от полученного с помощью ExGetCurrentResourceThread.

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

ERESOURCE должен освобождаться тем потоком и в том режиме владения, которые соответствуют предыдущему acquire. В дампе определите ресурс и поток, выполняющий release, затем проверьте историю shared/exclusive захватов. Ошибка часто находится в несбалансированной ветви обработки ошибки или в неверной передаче владения между потоками.

Ссылки


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