| Previous | Next |
| TBSIMP_E_INVALID_RESOURCE | TBSIMP_E_HASH_TABLE_FULL |
TBSIMP_E_NOTHING_TO_UNLOAD
Meaning beyond the built-in message
TBSIMP_E_NOTHING_TO_UNLOAD (0x80290215) belongs to TBS resource virtualization. The base What Is page already shows the short Windows message; the additional diagnostic value is that this result marks the TBS resource manager needs to free TPM space but has no eligible loaded resource to evict.
The first producer to identify for this HRESULT is the TBS context and virtual-resource manager that maps finite TPM slots for multiple clients. TBS resource virtualization maps client-visible virtual handles to finite physical TPM key, authorization and transport slots. Cleanup, eviction and context ownership determine whether a mapping can be restored.
Decode the relevant state
Preserve these this result items before changing anything:
- This result and
0x80290215, the exact returning method or command, and the first nested status. - requested resource type, loaded and saved resource inventory, pinned/exclusive resources, contexts, and the command requiring space.
- The TPM generation, manufacturer/firmware revision, Windows build, caller identity and TBS/provider state for this HRESULT.
- The complete opaque request artifacts, redacting authorization secrets but not rewriting structure boundaries.
One-variable test
Run this focused check: release one disposable loaded resource and repeat the request to confirm the eviction boundary. Do not combine the result test with firmware updates, TPM clearing, account changes, key recreation and policy edits in the same trial; such a result cannot isolate this boundary.
| Checkpoint | Pass condition |
|---|---|
| the TBS resource manager needs to free TPM space but has no eligible loaded resource to evict | The original this result command reaches the next defined state without returning it. |
| Security behavior | The result verification still uses the intended TPM, authorization, locality and policy. |
| Output integrity | The object, digest, event log or state transition produced after it validates independently. |
Differential diagnosis
| Related result | Separate meaning |
|---|---|
TBSIMP_E_HASH_TABLE_FULL | No new entries can be added to the hash table — a separate checkpoint when compared with it. |
TBSIMP_E_INVALID_RESOURCE | The resource type did not match — a separate checkpoint when compared with it. |
TBSIMP_E_TOO_MANY_TBS_CONTEXTS | A new TBS context could not be created because there are too many open contexts — a separate checkpoint when compared with it. |
The practical distinction is that TBSIMP_E_NOT_ENOUGH_SPACE reports the capacity problem, while this code explains why eviction cannot relieve it.
Supported corrective direction
The supported direction is to reduce non-evictable resource pressure or serialize operations; repeatedly asking the manager to unload cannot create a candidate. Do not confuse a TBS virtual handle with a physical TPM handle or copy it to another process. Resource virtualization intentionally scopes mappings to a client context.
If the same bytes still return it after the documented preconditions are satisfied, retain this code-specific trace for the platform vendor or Windows component owner rather than erasing state.
Technical references
- Microsoft: Resource Virtualization in TBS — source for the checkpoint.
- Microsoft: Command Scheduling in TBS — source for the checkpoint.
- Microsoft: About TPM Base Services — source for the checkpoint.
- Microsoft: Power Management in TBS — source for the checkpoint.
Looking for a different code? Search another status or error code.