What does HRESULT 0xC0370024 (ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL) mean?

 
Could be also:
ConstantTypeOS
STATUS_VID_RESERVE_PAGE_SET_TOO_SMALLNTSTATUSWindows
Previous Next
ERROR_VID_RESERVE_PAGE_SET_IS_BEING_USED ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE

ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL

ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL is HRESULT 0xC0370024 in the VID reserve page-set capacity area of the Windows virtualization stack. It applies to the number of reserve pages available for a requested memory-block lock.

State and ownership model

The selected reserve set cannot cover the requested lock. Compare requested pages with usable reserve capacity after alignment and any platform overhead.

Neighboring result: PAGE_RANGE_OVERFLOW means the target range is invalid; TOO_SMALL means the range may be valid but the chosen reserve set lacks capacity.

Capture before changing anything

EvidenceWhy it changes the diagnosis
Requested lock sizeRecord GPA start, page count, alignment, and access.
Reserve capacityKeep total and currently available reserve pages.
Concurrent borrowersIdentify other locks using the same set.
Sizing policyRecord how the reserve size was calculated from maximum request shape.

Reduce the case safely

  1. Size the reserve set for the maximum supported lock, not an average request.
  2. Reject requests exceeding the declared capacity before borrowing.
  3. Separate concurrent operations or allocate independent reserves.
  4. Test exact-capacity and one-page-over controls.

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.

What comparison can tell you

ControlInterpretationHold constant
Smaller exact rangeReduce only page count or mapped extent. If this result 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.
Same request under lower host pressureIf it 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.

Do not erase the evidence

Closure criteria

The maximum supported lock succeeds at exact capacity, while larger requests fail early without partially consuming the set.

Technical references


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