| Предыдущий | Следующий |
| STATUS_TRANSACTION_REQUEST_NOT_VALID | STATUS_TRANSACTION_ALREADY_ABORTED |
STATUS_TRANSACTION_NOT_REQUESTED
STATUS_TRANSACTION_NOT_REQUESTED означает, что вызывающий код вызвал API ответа, для которого KTM не выдавал соответствующего запроса. Это результат нарушения последовательности протокола: ответ нельзя принять, поскольку ожидаемое уведомление этому участнику не доставлялось.
Это отличается от STATUS_TRANSACTION_REQUEST_NOT_VALID. Последнее является более общим отказом автомата состояний; not-requested конкретно указывает на отсутствующую пару запроса и уведомления. Поэтому маска уведомлений и фактическая трассировка очереди или обратных вызовов полезнее повторения вызова ответа.
Ответ не соответствует последовательности уведомлений KTM
- Запишите тип уведомления, дескриптор присоединения, ID транзакции и вызванную процедуру ответа.
- Убедитесь, что присоединение подписано на соответствующее уведомление, а обратный вызов не был отменён или обработан в другом месте.
- Не создавайте искусственный ответ о завершении после тайм-аута приложения; дождитесь настоящего запроса KTM или разрешите транзакцию через документированный путь восстановления.
Ссылки
- Microsoft: создание диспетчера ресурсов KTM
- Microsoft: объекты включения KTM
- Microsoft: уведомления транзакций KTM
Нужно найти другой код? Найти другой код состояния или ошибки.