| Предыдущий | Следующий |
| ERROR_TRANSACTION_OBJECT_EXPIRED | ERROR_TRANSACTION_RECORD_TOO_LONG |
ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED
Этот статус относится к вышестоящему зачислению. KTM отклонил операцию, поскольку зачисление не было создано с соответствующим ответом завершения в своём NotificationMask. Маска является частью контракта зачисления: она объявляет, какие уведомления протокола и ответы завершения способен обрабатывать участник.
Как диагностировать несоответствие
- Проверьте
NotificationMask, переданный вCreateEnlistment. - Запишите уведомление, приведшее к вызову ответа, и точный использованный дескриптор зачисления.
- Убедитесь, что код выполняется как вышестоящий диспетчер транзакций, а не как обычный диспетчер ресурсов.
- Создайте зачисление заново с требуемой маской до достижения транзакцией соответствующей фазы; позднего изменения локальной таблицы обратных вызовов недостаточно.
Не путайте этот результат с ERROR_TRANSACTION_NOT_REQUESTED. Здесь уведомление могло быть получено, но зачисление не объявило возможность соответствующего ответа. В другом случае соответствующего запроса KTM вообще не было.
См. CreateEnlistment, NOTIFICATION_MASKи API зачисления KTM.
Нужно найти другой код? Найти другой код состояния или ошибки.
