What does HRESULT 0x80280063 (TPM_E_NOCONTEXTSPACE) mean?

 
Previous Next
TPM_E_BAD_SIGNATURE TPM_E_ASYMMETRIC

TPM_E_NOCONTEXTSPACE

Which layer owns this HRESULT

TPM_E_NOCONTEXTSPACE (0x80280063) belongs to TPM 1.2 resources, delegation and contexts. The base What Is page already shows the short Windows message; the additional diagnostic value is that this result marks the TPM 1.2 context list has no slot for another saved context.

The first producer to identify for it is the TPM resource, context or delegation manager, sometimes mediated by TBS virtualization. TBS can virtualize finite TPM resources, but a saved TPM context and a TBS virtual handle are not durable application IDs. Their validity depends on resource type, owning client context, TPM lifecycle and the exact save/load history.

Read this result as its own boundary in a sequence, not as a verdict that every TPM feature is broken. The sequence reaches the TPM 1.2 context list has no slot for another saved context, and the component returns 0x80280063 before the application can safely assume that later key, attestation, boot or licensing work occurred.

Diagnostic record

  • Request identity: exact function or command, input lengths, flags, caller context and this result.
  • State identity: current saved-context count, resource types, TBS clients, context close behavior, sleep/resume history, and abandoned application instances.
  • Platform identity for it: TPM generation, manufacturer/firmware revision, Windows build and relevant service events.
  • Binary identity: preserve opaque structures byte-for-byte and log 0x80280063 in hexadecimal.

How to verify the distinction

Close one disposable context and confirm that a new save succeeds before changing system-wide limits. Keep every other this result test condition unchanged. If the comparison reaches a later checkpoint, then the original the condition has been isolated even when a second defect remains.

Observed outcomeInterpretation
The exact request succeedsThe changed condition belongs to the rejected the TPM 1.2 context list has no slot for another saved context.
A more specific earlier code appearsPreserve the earlier result in the result trace; the previous trace probably lost the first producer.
The same code returns with identical bytesEscalate the persistent it with firmware, service and command evidence rather than broad configuration changes.
The code disappears only after destructive resetThe result experiment is not diagnostic because original protected state and evidence were removed.

Common false equivalences

Nearby constantWhy it is different
TPM_E_TOOMANYCONTEXTSToo many contexts held by the TPM — a separate checkpoint when compared with it.
TPM_E_BADCONTEXTThe context blob is invalid — a separate checkpoint when compared with it.
TPM_E_BAD_DELEGATEDelegation is not correct — a separate checkpoint when compared with it.

For this page, the useful contrast is: TPM_E_TOOMANYCONTEXTS reports the maximum context count at a related lifecycle checkpoint.

What a real fix looks like

Apply the narrow remedy: release unused contexts and bound their lifetime to the application operation that needs them. Do not persist volatile TPM or TBS handles as durable identifiers. A numeric handle can be valid only inside the creating context and lifecycle, even when its value looks unchanged after restart.

Close the incident only when the same API or TPM command passes with the intended hardware-backed behavior and the expected output can be independently validated.

References


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