| Предыдущий | Следующий |
| 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 между потоками; активные контексты и их стеки привязаны к потоку.
Ссылки
- Microsoft: контексты активации
- Microsoft: ActivateActCtx
- Microsoft: DeactivateActCtx
- Wine: реализация контекста активации
Нужно найти другой код? Найти другой код состояния или ошибки.