What does HRESULT 0x8028000A (TPM_E_BAD_ORDINAL) mean?

 
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


Looking for a different code? Search another status or error code.