| Previous | Next |
| WHV_E_INSUFFICIENT_BUFFER | WHV_E_UNSUPPORTED_HYPERVISOR_CONFIG |
WHV_E_UNKNOWN_PROPERTY
WHV_E_UNKNOWN_PROPERTY is HRESULT 0x80370302 in the Windows Hypervisor Platform property negotiation area of the Windows virtualization stack. The built-in message names the immediate result; the useful custom context is the exact boundary: selection of a WHP capability, partition property, or processor property that the current API implementation does not recognize. Record the first returning operation and host-side event before a management layer retries or translates it.
State and ownership model
The property identifier is outside the set understood by the installed Windows Hypervisor Platform implementation. The failure can reflect an SDK/runtime version gap, the wrong property enumeration for the function, or accidental corruption of the selector.
This result is on the public Windows Hypervisor Platform surface. A WHP partition is created, configured through properties, and then set up before virtual processors and GPA mappings are used. Keep the exact WHv* function, selector, structure size, and Windows build with it, because that API contract is more precise than the final application message.
Neighboring result: An unknown property is different from a known property whose value is unsupported by the host. First prove that the selector itself belongs to the called API and Windows version before investigating hardware capability.
Capture before changing anything
| Evidence | Why it changes the diagnosis |
|---|---|
| Function and property ID | Record the symbolic enum, numeric selector, and the WHv* function that received it. |
| Build pair | Capture application build, Windows build, architecture, and WinHvPlatform.dll version. |
| Capability gate | Keep the preceding WHvGetCapability results that should authorize use of the property. |
| Structure pairing | Record the union member, buffer size, and property-value type passed with the selector. |
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.
Reduce the case safely
- Confirm the selector comes from the correct WHV_*_PROPERTY_CODE enumeration for that function.
- Gate newer properties on runtime capability or Windows version instead of SDK presence alone.
- Verify that serialization, language bindings, and casts preserve the full enum value.
- Test one older documented property through the same wrapper to isolate binding damage from runtime support.
Run this result checks in a minimal WHP harness before changing the VM. Keep the exact function, enum selector, byte count, structure layout, architecture, and Windows build; recreate the partition only when the tested contract requires a new generation.
What comparison can tell you
Across these controls for it, preserve selection of a WHP capability, partition property, or processor property that the current API implementation does not recognize as the boundary under test.
| Control | Interpretation | Hold constant |
|---|---|---|
| Known older selector — this result | Use a documented older capability or property through the same path. A success narrows it to selector/version negotiation rather than general WHP availability. | Change only the selector and matching value structure. |
| Second supported Windows build — it | If it follows one runtime build, compare capability discovery and API availability before changing VM configuration. | Use the same executable, architecture, and request bytes in the result comparison. |
| Direct call versus wrapper — it | Call the same WHP function from a minimal native harness. If it disappears, inspect binding, enum, packing, or size conversion in the wrapper. | Keep the Windows build, selector, property data, and partition state fixed for it. |
Do not erase the evidence
Do not reboot Windows or recreate the VM as the first response to it. In the case, a reboot can erase caller selector, structure, size, and runtime-capability evidence while leaving the programming error unchanged.
Closure criteria
Resolution requires the application to select a property recognized by the target runtime or to skip the feature through an explicit capability path; silently substituting another selector is not proof. 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 the HRESULT and the public WHP contract used for it; the exact called function and property/size rules remain decisive.
- Microsoft Win32 metadata: winerror.h — used to interpret the boundary.
- Microsoft: Windows Hypervisor Platform API — used to interpret the boundary.
- Microsoft: WHvCreatePartition — used to interpret the boundary.
- Microsoft: WHvSetupPartition — used to interpret the boundary.
Looking for a different code? Search another status or error code.