| Previous | Next |
| STATUS_TPM_DAA_WRONG_W | STATUS_TPM_BAD_DELEGATE |
STATUS_TPM_BAD_HANDLE
The TPM rejected an incorrect handle
STATUS_TPM_BAD_HANDLE means a TPM handle in the command is not valid for the operation being executed. Handles identify loaded keys, authorization sessions, transport sessions, counters, NV objects, and other TPM resources, depending on the command.
This is more specific than a caller-side invalid pointer or a Windows object-handle failure. The command made it to the TPM path, but the TPM-level handle namespace did not contain a suitable object for that ordinal.
Common causes include using a handle after a TPM reset, closing or evicting the object through another path, mixing TBS contexts, or treating a persistent key identifier as if it were a currently loaded transient handle.
Diagnostic focus
- Log the handle value, command ordinal, and object type expected by that command.
- Check whether the TPM was reset, cleared, suspended, or context-flushed before the failure.
- Reload or recreate the TPM object instead of retrying the same stale handle indefinitely.
References
- TCG: TPM 1.2 Main Specification
- TCG: TPM 1.2 Part 1 Design Principles
- TCG: TPM 1.2 Part 2 Structures of the TPM
- TCG: TPM 1.2 Part 3 Commands
- Microsoft: TPM Base Services
- Microsoft: MS-ERREF NTSTATUS values
Looking for a different code? Search another status or error code.