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. It applies to a memory-block property whose one-time set or reset transition has already occurred.

Why this result is specific

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

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 instanceNote reuse, restore, or wrapper reset assumptions.

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 test run, keep page units, GPA boundaries, parent object, handle generation, and release order visible.

Comparison matrix

ControlInterpretationHold constant
Same request under lower host pressureIf 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 rangeReduce 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.
Balanced fresh lifecycleCreate, use, release, and destroy one object instance. If a different result appears after recreation, investigate leaked references, locks, handles, or mappings.Preserve sizes and operation order while changing only generation.

Misleading shortcuts

Verification after repair

Each memory-block generation performs the property transition at most once and retries resume after, rather than repeat, that step.

Technical references


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