Site icon EfmSoft

What does HRESULT 0xC0370020 (ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET) mean?

 
Could be also:
ConstantTypeOS
STATUS_VID_MB_PROPERTY_ALREADY_SET_RESETNTSTATUSWindows
Previous Next
ERROR_VID_KM_INTERFACE_ALREADY_INITIALIZED ERROR_VID_MMIO_RANGE_DESTROYED

ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET

ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET is HRESULT 0xC0370020 in the VID memory-block property state area of the Windows virtualization stack. The built-in message names the immediate result; the useful custom context is the exact boundary: a memory-block property whose one-time set or reset transition has already occurred. Record the first returning operation and host-side event before a management layer retries or translates it.

Why this HRESULT is specific

The property is not freely mutable; the caller attempted to apply the transition more than once in the same object generation. Preserve the first successful setter and initialization path.

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: This is not a value-validation error. The state machine rejects a repeated transition even if the repeated value matches.

Records worth collecting

EvidenceWhy it changes the diagnosis
Property identityRecord property selector, requested value, and memory block.
First transitionKeep successful set/reset stack, timestamp, and owner.
Repeated callerCapture duplicate initialization or retry path.
Object generationNote reuse, restore, or wrapper reset assumptions.

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.

A reproducible test plan

  1. Centralize ownership of the one-time property transition.
  2. Do not retry a successful setter after a later unrelated failure.
  3. Recreate the object only through supported lifecycle if a different property state is required.
  4. Test partial initialization rollback around the setter.

Use a controlled partition or disposable VM when a mapping, lock, or teardown test can be destructive. During the result run, keep page units, GPA boundaries, parent object, handle generation, and release order visible.

Comparison matrix

Across these controls for it, preserve a memory-block property whose one-time set or reset transition has already occurred as the boundary under test.

ControlInterpretationHold constant
Same request under lower host pressure — this resultIf this result changes after controlled pressure is removed, quantify host/pool capacity; if not, focus on caller bookkeeping.Do not modify guest disks or unrelated VM devices during the result comparison.
Smaller exact range — itReduce only page count or mapped extent. If it moves, range arithmetic, object limits, or reserve capacity is involved.Keep the same block, GPA base, flags, and partition generation for it.
Balanced fresh lifecycle — itCreate, use, release, and destroy one object generation. A different it exposes leaked references, locks, handles, or mappings.Preserve sizes and operation order while changing only generation.

Misleading shortcuts

Restarting can release the exact lock, reference, mapping, or opaque handle behind it without fixing the lifecycle defect. Before recovering from it, preserve the object graph and acquire/release counts.

Verification after repair

Each memory-block generation performs the property transition at most once and retries resume after, rather than repeat, that step. 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.


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

Exit mobile version