What does HRESULT 0x80370306 (WHV_E_VP_ALREADY_EXISTS) mean?

 
Previous Next
WHV_E_GPA_RANGE_NOT_FOUND WHV_E_VP_DOES_NOT_EXIST

WHV_E_VP_ALREADY_EXISTS

Virtual processor indexes are unique within a WHP partition

WHV_E_VP_ALREADY_EXISTS is returned when the caller attempts to create a virtual processor at an index already present in the partition. On x64, the index also determines the processor’s APIC ID, so silently substituting another index changes guest-visible topology.

The duplicate commonly comes from repeated initialization, a partial retry after creation succeeded, or two threads building the same partition. The correct fix is to make creation state explicit, not to ignore every failure from WHvCreateVirtualProcessor.

Evidence and corrective action

  • Track created VP indexes in partition-owned state and serialize topology construction.
  • Determine whether the earlier create call succeeded before its caller timed out or lost the result.
  • Match indexes to the configured processor count and intended guest topology.
  • Delete an existing VP only when it is no longer running and teardown ownership is clear.
  • Make retry logic resume from known state rather than replaying all create calls unconditionally.

References


Looking for a different code? Search another status or error code.