| Previous | Next |
| TBSIMP_E_NOTHING_TO_UNLOAD | TBSIMP_E_TOO_MANY_TBS_CONTEXTS |
TBSIMP_E_HASH_TABLE_FULL
Read the result in context
TBSIMP_E_HASH_TABLE_FULL (0x80290216) 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 an internal TBS mapping hash table has reached its entry capacity.
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.
Fields worth decoding
Preserve these this result items before changing anything:
- This result and
0x80290216, the exact returning method or command, and the first nested status. - table purpose, number of contexts and virtual handles, insertion rate, cleanup behavior, service uptime, and leaked application resources.
- 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.
Controlled comparison
Run this focused check: close a controlled group of contexts/resources and confirm that capacity returns before creating more. 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 |
|---|---|
| an internal TBS mapping hash table has reached its entry capacity | 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. |
Adjacent failure boundaries
| Related result | Separate meaning |
|---|---|
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. |
TBSIMP_E_NOTHING_TO_UNLOAD | No resources can be unloaded — a separate checkpoint when compared with it. |
TBSIMP_E_TOO_MANY_RESOURCES | A new virtual resource could not be created because there are too many open virtual resources — a separate checkpoint when compared with it. |
The practical distinction is that TBSIMP_E_TOO_MANY_RESOURCES is the public resource-limit condition rather than this specific internal table.
Repair without destroying evidence
The supported direction is to fix leaks and bound concurrency; collect servicing evidence if entries remain after correct cleanup. 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.