| Previous | Next |
| TBS_E_INTERNAL_ERROR | TBS_E_INVALID_OUTPUT_POINTER |
TBS_E_BAD_PARAMETER
Classify the layer correctly
TBS_E_BAD_PARAMETER (0x80284002) belongs to the public and internal TPM Base Services path. It indicates a public TBS API call rejected one or more input values before submitting a command to the TPM.
Incident worksheet
| Question | Evidence |
|---|---|
| What exact state was rejected? | a public TBS API call rejected one or more input values before submitting a command to the TPM |
| Which layer owns the result? | The TBS client library, local RPC service and command scheduler before or around device execution. |
| What must be correlated? | function name, TBS context parameters, locality, priority, buffer pointers and lengths, flags, and process architecture |
| Controlled comparison | invoke the same function with a minimal documented parameter set and a small known-good command buffer |
A reproducible comparison
The one-variable check is to invoke the same function with a minimal documented parameter set and a small known-good command buffer. Record the before/after state that the result command is allowed to change. If the operation can have side effects, use a disposable key, session, counter or NV index rather than production material.
- Capture this result and
0x80284002at the first code-specific return boundary. - Decode the result state: TBS function, context, pointer and buffer contract, service state, command size and nested status.
- Run the controlled comparison once and preserve both binary transcripts.
- Verify the expected output or state transition instead of relying on absence of a UI message.
Related conditions often confused with this one
| Comparison code | Built-in distinction |
|---|---|
TBS_E_INVALID_OUTPUT_POINTER | A specified output pointer is bad. |
TBS_E_INVALID_CONTEXT | The specified context handle does not refer to a valid context. |
TBS_E_INSUFFICIENT_BUFFER | A specified output buffer is too small. |
It specifically answers whether a public TBS API call rejected one or more input values before submitting a command to the TPM. In contrast, TBS_E_INVALID_CONTEXT_PARAM is specific to context-creation parameters.
Restore service safely
To remediate it, correct the API contract and structure sizes before investigating TPM firmware or key state. Do not restart or disable TBS before capturing its service and event data. Most caller-contract errors are reproducible without touching TPM ownership, firmware state or stored keys.
Authoritative references
Looking for a different code? Search another status or error code.