| Предыдущий | Следующий |
| STATUS_RECOVERY_NOT_NEEDED | STATUS_LOG_NO_RESTART |
STATUS_RM_ALREADY_STARTED
Жизненный цикл диспетчера ресурсов запущен дважды
Диспетчер ресурсов KTM должен быть создан, восстановлен, если он долговечный, и затем переведён в состояние приёма уведомлений транзакций. Этот статус означает, что переход запуска уже выполнен для того же объекта диспетчера ресурсов.
Важно выяснить не как принудительно запустить его повторно, а почему инициализация выполнилась больше одного раза. Повторные запуски могут возникать из-за кода перезапуска службы, параллельной инициализации рабочих потоков или логики повторов, не отслеживающей состояние диспетчера ресурсов.
Что проверить
- Определите GUID и дескриптор диспетчера ресурсов, использованные обеими попытками запуска.
- Сериализуйте запуск и восстановление, чтобы переход состояния выполнял только один владелец.
- Прежде чем подавлять повторный вызов, убедитесь, что доставка уведомлений активна.
- Не пересоздавайте диспетчер ресурсов только потому, что возвращён этот информационный статус.
Ссылки
- Открытые спецификации Microsoft: значения NTSTATUS
- Microsoft: написание диспетчера ресурсов
- Microsoft: объекты KTM и их взаимосвязи
- Метаданные Microsoft Windows SDK: ktmw32.h
Нужно найти другой код? Найти другой код состояния или ошибки.
