| Предыдущий | Следующий |
| STATUS_TRANSACTION_TIMED_OUT | STATUS_TRANSACTION_NO_MATCH |
STATUS_TRANSACTION_NO_RELEASE
Что означает STATUS_TRANSACTION_NO_RELEASE
STATUS_TRANSACTION_NO_RELEASE — транспорт не получил освобождение для ожидающего ответа.
Что проверить
Зафиксируйте транзакцию/UOW, диспетчер ресурсов и API, на котором появился STATUS_TRANSACTION_NO_RELEASE.
- Проверьте фазу транзакции, её конечное состояние, тайм-аут и первый диспетчер ресурсов, который отказал или потерял состояние.
- Не продолжайте использовать старый дескриптор транзакции после abort/commit; перед новой попыткой убедитесь, что исход предыдущей операции однозначно определён.
- Проверьте, должен ли объект, на который ссылается операция STATUS_TRANSACTION_NO_RELEASE, существовать на этом сервере или устройстве. Если должен — исправьте ссылку либо восстановите объект; если отсутствие допустимо — обработайте его как отдельное состояние.
Исходная формулировка
a legacy transport has a pending response but did not receive its expected release.
Microsoft: returning chained TDI receive descriptors
Diagnose the code as a lifecycle/ownership imbalance.
Legacy Windows transport interfaces demonstrate explicit resource-lifetime handoffs.
Trace response delivery to the consumer and the expected release/completion callback.
Технические ссылки
- Microsoft Open Specifications: NTSTATUS values
- Microsoft: returning chained TDI receive descriptors
- Microsoft: TDI receive resource lifetime
- Microsoft: TDI dispatch and object state
- Microsoft: TDI_REQUEST structure
Нужно найти другой код? Найти другой код состояния или ошибки.