| Previous | Next |
| STATUS_CANT_CREATE_MORE_STREAM_MINIVERSIONS | STATUS_LOG_CORRUPTION_DETECTED |
STATUS_HANDLE_NO_LONGER_VALID
The transacted handle survived past the transaction state that made it valid
STATUS_HANDLE_NO_LONGER_VALID is common in TxF error handling because a transacted handle is tied to transaction state. When the transaction commits, rolls back, or rolls back to a savepoint that invalidates the object, ordinary operations on the old handle are no longer valid.
Microsoft's TxF guidance is explicit that applications should close transacted file handles before commit or rollback. Treat this status as a lifetime bug in the caller unless the program deliberately probes old handles after a transaction transition.
What to check
- Handles that remain open while the transaction is committed, rolled back, or moved to a savepoint.
- Memory-mapped sections or duplicate handles that keep the file object alive longer than expected.
- Retry logic that performs I/O on the old handle instead of closing and reopening it.
- Whether helper code hides the transaction boundary from the code that owns the handle.
Useful distinction
A stale transacted handle is different from an ordinary invalid handle value. The handle may have been valid earlier, but TxF invalidated it because the transaction state moved on.
References
- Microsoft: Transactional NTFS overview
- Microsoft: How to use Transactional NTFS
- Microsoft: Kernel Transaction Manager
- Microsoft Open Specifications: NTSTATUS values
Looking for a different code? Search another status or error code.
