| Previous | Next |
| TPM_E_FAIL | TPM_E_INSTALL_DISABLED |
TPM_E_BAD_ORDINAL
TPM_E_BAD_ORDINAL is the TPM 1.2 response for an unknown or inconsistent command ordinal. TPM 1.2 addresses commands by numeric ordinals, so this is fundamentally a command-selection failure rather than a key, PCR, or authorization failure.
The result can expose a version mismatch, an application using an optional or disabled legacy command, or a malformed command header whose ordinal field was parsed incorrectly. It does not establish that the TPM hardware has failed.
What to compare
- The decoded ordinal in the transmitted command and the ordinal expected by the client library version.
- The actual TPM generation and vendor capability information. A TPM 2.0 device should not be treated as a TPM 1.2 ordinal endpoint.
- The transport framing and byte order if the ordinal looks correct in source code but not in the captured command.
A raw retry is not useful until the caller’s TPM version selection and command serialization have been corrected.
References
- Microsoft: TPM HRESULT values in Winerror.h
- TCG TPM 1.2 Part 3: Commands
- Trusted Computing Group: TPM 1.2 Main Specification
Looking for a different code? Search another status or error code.