Что означает код NTSTATUS 0xC015000F (STATUS_SXS_EARLY_DEACTIVATION)?

 
Предыдущий Следующий
STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET STATUS_SXS_INVALID_DEACTIVATION

STATUS_SXS_EARLY_DEACTIVATION

Контексты активации деактивируются не в порядке стека

STATUS_SXS_EARLY_DEACTIVATION — точная ошибка стека активации. ActivateActCtx возвращает cookie для кадра, помещённого в стек текущего потока. Когда обычная деактивация пытается удалить cookie ниже верхнего кадра, Windows обнаруживает нарушение обратного порядка активации.

Это отличается от STATUS_SXS_INVALID_DEACTIVATION, который текущий сервис уже описывает отдельно и который означает, что cookie не активен. Здесь cookie найден, но над ним находится другая активация. Принудительная ранняя деактивация может удалить несколько кадров и не должна использоваться для сокрытия ошибки владения.

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

  • Записывайте каждый возвращённый cookie активации с идентификатором потока и сопоставляйте его ровно с одной обычной деактивацией.
  • Проверьте пути исключений, отмены и обратных вызовов, которые могут пропустить внутреннюю область или попытаться сначала развернуть внешний контекст.
  • Не переиспользуйте cookie между потоками; активные контексты и их стеки привязаны к потоку.

Ссылки


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