| Previous | Next |
| TBSIMP_E_HASH_BAD_KEY | TBSIMP_E_INVALID_OUTPUT_POINTER |
TBSIMP_E_DUPLICATE_VHANDLE
Technical interpretation
TBSIMP_E_DUPLICATE_VHANDLE (0x80290206) 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 implementation attempts to insert a virtual handle that already exists in its mapping table.
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.
Inputs and state to capture
Preserve these this result items before changing anything:
- This result and
0x80290206, the exact returning method or command, and the first nested status. - new and existing virtual handles, physical handle, context, creating command, retry or duplicate-delivery history, and firmware response.
- 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.
Validate without broad changes
Run this focused check: use a new TBS context and submit the resource-creating command exactly once. 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 implementation attempts to insert a virtual handle that already exists in its mapping table | 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. |
Neighboring response codes
| Related result | Separate meaning |
|---|---|
TBSIMP_E_LIST_NO_MORE_ITEMS | The specified list is empty, or the iteration has reached the end of the list — a separate checkpoint when compared with it. |
TBSIMP_E_HASH_BAD_KEY | No entry with the specified key was found — a separate checkpoint when compared with it. |
TBSIMP_E_LIST_NOT_FOUND | The specified item was not found in the list — a separate checkpoint when compared with it. |
The practical distinction is that TPM_E_DUPLICATE_VHANDLE is the translated command-path form seen above this internal condition.
Fix and verify
The supported direction is to discard the inconsistent context and investigate duplicate submissions or firmware handle reuse if the collision returns. 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.