| Previous | Next |
| ERROR_VID_PARTITION_ALREADY_EXISTS | ERROR_VID_PARTITION_NAME_NOT_FOUND |
ERROR_VID_PARTITION_DOES_NOT_EXIST
ERROR_VID_PARTITION_DOES_NOT_EXIST is HRESULT 0xC0370009 in the VID partition handle lifecycle area of the Windows virtualization stack. The built-in message names the immediate result; the useful custom context is the exact boundary: an operation referencing a partition object that has already been removed or was never created in this host generation. Record the first returning operation and host-side event before a management layer retries or translates it.
What the code establishes
The requested partition identity cannot be resolved to a live VID partition. Common boundaries are stale handles, teardown races, and operations arriving after VM worker replacement.
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_NAME_NOT_FOUND emphasizes name lookup; DOES_NOT_EXIST is the broader absence of the partition object expected by the operation.
Evidence that should survive remediation
| Evidence | Why it changes the diagnosis |
|---|---|
| Partition handle and ID | Record numeric/opaque handle, VM ID, name, and generation. |
| Creation success | Keep the result and timestamp of the create/setup path. |
| Removal event | Locate delete, crash cleanup, migration, or service restart that ended the generation. |
| Late caller | Capture the operation that used the stale reference and its synchronization owner. |
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.
Controlled diagnostic sequence
- Invalidate cached handles atomically when partition teardown starts.
- Reject late work at the queue boundary using generation tokens.
- Test concurrent stop with memory, VP, and queue operations.
- Reopen through the supported management path instead of fabricating a handle.
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.
Read the comparison tests
Across these controls for it, preserve an operation referencing a partition object that has already been removed or was never created in this host generation as the boundary under test.
| Control | Interpretation | Hold constant |
|---|---|---|
| Fresh owned object — this result | A clean lifecycle changing this result implicates duplicate initialization, leaked ownership, stale lookup, or incomplete rollback. | Preserve request flags and topology while changing only object generation. |
| Same request on a compatible host — it | If it 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. |
Avoid the wrong recovery
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.
Acceptance test
No operation crosses the teardown generation, and a new partition receives fresh handles that stale work cannot use. 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.
