| Previous | Next |
| ERROR_CPU_SET_INVALID | ERROR_ENCLAVE_VIOLATION |
ERROR_ENCLAVE_NOT_TERMINATED
The specified enclave has not yet been terminated.
ERROR_ENCLAVE_NOT_TERMINATED is Win32 error 814 (0x32E) and belongs to trusted execution enclave lifecycle.
Where the result appears
- DeleteEnclave or enclave cleanup.
- Teardown after a worker entered trusted code.
- Process shutdown while enclave threads are active.
- Resource release following an earlier enclave failure.
Likely causes
- one or more enclave threads or references remain active.
- the caller attempted to free the address range before termination completed.
- asynchronous teardown is still draining trusted execution.
- a component lost track of an enclave user and initiated cleanup too early.
Troubleshooting steps
- Record enclave base address, type, and creation flags.
- Record threads that entered or are still executing enclave code.
- Record termination request time and completion notification.
- Record outstanding handles, callbacks, and loader state.
- Record the first error that triggered enclave teardown.
What to verify
Verify whether one or more enclave threads or references remain active. Check enclave base address, type, and creation flags together with threads that entered or are still executing enclave code.
Handling, retry, and recovery
Quiesce users of the enclave, complete the documented termination sequence, and release memory only after termination is confirmed. Repeated deletion while code is still executing can obscure the original lifecycle defect.
Difference from nearby codes
This code reports incomplete teardown, whereas an enclave violation reports an illegal protected-memory access.
Practical example
A host begins shutdown while a worker remains in enclave code.
References
- Microsoft: System Error Codes (500–999) — reference for error 814.
- Microsoft: Enclaves — reference for error 814.
- Microsoft: Enclave functions — reference for error 814.
Looking for a different code? Search another status or error code.
