What does HRESULT 0x8028004E (TPM_E_TRANSPORT_NOTEXCLUSIVE) mean?

 
Previous Next
TPM_E_DELEGATE_ADMIN TPM_E_OWNER_CONTROL

TPM_E_TRANSPORT_NOTEXCLUSIVE

Where the failure is raised

TPM_E_TRANSPORT_NOTEXCLUSIVE (0x8028004E) 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 an exclusive TPM 1.2 transport session lost exclusivity because another command executed outside it.

The first producer to identify for this HRESULT 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.

Evidence that changes the diagnosis

QuestionEvidence for this HRESULT
What exact state was rejected?an exclusive TPM 1.2 transport session lost exclusivity because another command executed outside it
Which layer owns the result?The TPM resource, context or delegation manager, sometimes mediated by TBS virtualization.
What must be correlated?transport handle and attributes, complete command timeline across processes, TBS context and priority, nested commands, and session termination state
What is the controlled comparison?run the transport sequence on an otherwise idle test system and trace every TPM command from start to finish

Record the original command or API call before this result retry logic mutates its nonces, handles, buffers or state. Also retain the full HRESULT as 0x8028004E; signed decimal logging can hide the result TPM/TBS facility and make searches less precise.

A controlled verification

  1. Establish the result baseline with the same device, Windows build, account and TPM generation.
  2. Perform one narrow experiment: run the transport sequence on an otherwise idle test system and trace every TPM command from start to finish.
  3. Compare raw this result inputs and the first response, not only the final application dialog.
  4. Stop after the first changed the checkpoint; a later error means this boundary was passed even if the whole workflow still fails.

Related TPM and TBS results

ResultDifferent diagnostic question
TPM_E_OWNER_CONTROLAttempt to context save a owner evict controlled key — a separate checkpoint when compared with this result.
TPM_E_DELEGATE_ADMINDelegation table management not enabled — a separate checkpoint when compared with it.
TPM_E_BAD_HANDLEThe handle is incorrect — a separate checkpoint when compared with it.

The decisive distinction for this HRESULT is that TPM_E_NO_WRAP_TRANSPORT rejects wrapped transport capability before an exclusive session is established. The short platform wording — “There was a command executed outside of an exclusive transport session.” — does not supply that differential diagnosis by itself.

Correction and proof

The corrective direction is to serialize TPM access around the exclusive transport or replace the legacy transport design with a supported higher-level API. 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.

A verified it repair reproduces the original request with the same intended security policy and passes this checkpoint. Replacing it with a broader wrapper status, silently falling back to software keys, or suppressing verification is not proof of success.

Technical references


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