| Previous | Next |
| ERROR_VID_MESSAGE_QUEUE_NAME_TOO_LONG | ERROR_VID_PARTITION_DOES_NOT_EXIST |
ERROR_VID_PARTITION_ALREADY_EXISTS
ERROR_VID_PARTITION_ALREADY_EXISTS is HRESULT 0xC0370008 in the VID partition creation identity area of the Windows virtualization stack. The built-in message names the immediate result; the useful custom context is the exact boundary: creation of a VID partition whose internal identity is already present. Record the first returning operation and host-side event before a management layer retries or translates it.
Object lifecycle behind the result
A partition with the requested name or identity exists in the current host virtualization-stack state. Determine whether this is an idempotent reopen, a duplicate create, or an orphan left by failed teardown.
Hyper-V architecture documentation identifies VID as the component that provides partition, virtual-processor, and memory-management services., many ERROR_VID_* values describe internal host objects rather than a public API that administrators should call directly. Accordingly, diagnose this result through the named object/state, the VMMS or Worker event chain, and the operation that produced it; do not invent a user-mode VID call from the constant name.
Neighboring result: PARTITION_DOES_NOT_EXIST and PARTITION_NAME_NOT_FOUND are lookup failures. ALREADY_EXISTS proves creation collided with current state.
Diagnostic evidence matrix
| Evidence | Why it changes the diagnosis |
|---|---|
| Partition identity | Record VM ID, internal partition name, and host. |
| Existing owner | Capture worker process, state, creation time, and configuration path for the live object. |
| Create caller | Keep the duplicate request stack and operation correlation ID. |
| Teardown history | Record prior stop/delete failures and whether resources remain referenced. |
Preserve identifiers and counts without dumping guest secrets or unrelated memory. Useful this result timestamps include the last successful operation, first failure, any automatic retry, and the object-generation change that followed.
Test one variable at a time
- Query current VM/partition state before issuing a create retry.
- Make retries distinguish reopen from new creation.
- Verify failed initialization rolls back the partition exactly once.
- Do not delete an existing partition until its ownership is proven.
Test the smallest supported create, lookup, initialize, or resource request that preserves the named condition. In the result reproduction, change one count, identity, or lifecycle step at a time and capture the first host event before retry.
How to read the controls
Across these controls for it, preserve creation of a VID partition whose internal identity is already present as the boundary under test.
| Control | Interpretation | Hold constant |
|---|---|---|
| Same request on a compatible host — this result | If this result follows one host, compare resource limits, topology, build, and inventory before altering VM data. | Use the same request and leave virtual disks unchanged in the result comparison. |
| One operation parameter — it | Change one count, name, identity, or state transition. If it moves, the selected boundary is causal rather than the VM as a whole. | Keep host build, VM ID, and returning operation fixed for it. |
| Fresh owned object — it | A clean lifecycle changing it implicates duplicate initialization, leaked ownership, stale lookup, or incomplete rollback. | Preserve request flags and topology while changing only object generation. |
Boundaries of this status
A restart may release internal objects and make it disappear while erasing registration, ownership, resource-count, or teardown evidence. Capture the first result event chain before recovery.
Regression proof
Repeated start/stop and failure-injection cycles produce one partition per VM identity and leave no orphan after teardown. Repeat the original operation under the original supported conditions and retain one deliberate negative control. A management command succeeding on a different object is not sufficient to close this incident.
Technical references
These sources define it and the public Hyper-V architecture surrounding the internal state. They do not create a public user-mode VID API for the named object.
- Microsoft Open Specifications: HRESULT values — used to interpret the boundary.
- Microsoft: Hyper-V architecture — used to interpret the boundary.
- Microsoft: Hyper-V TLFS — used to interpret the boundary.
- Microsoft: Hyper-V operational troubleshooting — used to interpret the boundary.
Looking for a different code? Search another status or error code.
