What does HRESULT 0x8028004D (TPM_E_DELEGATE_ADMIN) mean?

 
Previous Next
TPM_E_DELEGATE_FAMILY TPM_E_TRANSPORT_NOTEXCLUSIVE

TPM_E_DELEGATE_ADMIN

Technical interpretation

TPM_E_DELEGATE_ADMIN (0x8028004D) 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 delegation table is not in a state that permits the requested administrative modification.

Boundary to preserve: The documented condition is “Delegation table management not enabled.” A comparison run should change that state, not an unrelated component setting.

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.

The result value 0x8028004D should remain attached to the symbolic name. Some this result logs store the value as a negative signed integer; others expose only a generic CNG, WMI, BitLocker or enrollment message. Neither substitution identifies the TPM 1.2 delegation table is not in a state that permits the requested administrative modification as precisely as it.

Inputs and state to capture

  • Producer for this HRESULT: the TPM resource, context or delegation manager, sometimes mediated by TBS virtualization.
  • Rejected invariant: the TPM 1.2 delegation table is not in a state that permits the requested administrative modification.
  • Decisive capture: delegation administration enablement, owner authorization, table state, family and row identifiers, and prior lock commands.
  • Safe comparison: perform a read-only delegation query, then test administration in a freshly provisioned disposable environment.

Validate without broad changes

Build the result minimal case around the original command contract. Use a disposable object when the request can write NV data, advance a counter, change authorization state or consume a lock transition. The comparison is valid only when the caller, TPM generation and security policy remain the same.

QuestionEvidence for this HRESULT
What exact state was rejected?the TPM 1.2 delegation table is not in a state that permits the requested administrative modification
Which layer owns the result?The TPM resource, context or delegation manager, sometimes mediated by TBS virtualization.
What must be correlated?delegation administration enablement, owner authorization, table state, family and row identifiers, and prior lock commands
What is the controlled comparison?perform a read-only delegation query, then test administration in a freshly provisioned disposable environment

Neighboring response codes

ConstantCheckpoint represented by its standard message
TPM_E_TRANSPORT_NOTEXCLUSIVEThere was a command executed outside of an exclusive transport session — a separate checkpoint when compared with this result.
TPM_E_DELEGATE_FAMILYAttempt to manage a family other then the delegated family — a separate checkpoint when compared with this result.
TPM_E_OWNER_CONTROLAttempt to context save a owner evict controlled key — a separate checkpoint when compared with it.

The codes above may appear in the same workflow, but they are not aliases. TPM_E_DELEGATE_LOCK reports a lock that blocks administration after it was otherwise enabled.

Fix and verify

Enable and perform delegation administration through the owner-controlled workflow before locking the table. 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.

Proof for this HRESULT consists of a successful replay plus validation of the intended key, PCR, NV, context, event-log, provider or service result. A software fallback or a newly provisioned blank TPM answers a different question than it.

Source material


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