What does HRESULT 0x80280003 (TPM_E_BAD_PARAMETER) mean?

 
Previous Next
TPM_E_BADINDEX TPM_E_AUDITFAILURE

TPM_E_BAD_PARAMETER

TPM_E_BAD_PARAMETER is a semantic command-validation failure in the TPM 1.2 interface. The request reached the TPM, but at least one argument was unacceptable for that command. It is broader than an invalid command-size field and broader than a failed authorization check.

The practical question is therefore not “is the TPM broken?” but “which field is inconsistent with the selected command, object type, mode, or declared structure?” TPM 1.2 uses command-specific structures and selectors; a value can be well-formed as bytes yet still be invalid in that command’s context.

Diagnostic sequence

  • Preserve the serialized command length, command ordinal, and a redacted field-by-field decode.
  • Compare the request with the exact TPM 1.2 command definition used by the client library; do not compare it with a TPM 2.0 command of a similar name.
  • Check for a more specific return value first: TPM_E_BAD_PARAM_SIZE, TPM_E_BAD_MODE, or TPM_E_BADINDEX carry a narrower diagnosis when present.

References


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