| 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
| Evidence | Why it changes the diagnosis |
|---|---|
| Requested lock size | Record GPA start, page count, alignment, and access. |
| Reserve capacity | Keep total and currently available reserve pages. |
| Concurrent borrowers | Identify other locks using the same set. |
| Sizing policy | Record how the reserve size was calculated from maximum request shape. |
Reduce the case safely
- Size the reserve set for the maximum supported lock, not an average request.
- Reject requests exceeding the declared capacity before borrowing.
- Separate concurrent operations or allocate independent reserves.
- 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
| Control | Interpretation | Hold constant |
|---|---|---|
| Smaller exact range | Reduce 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 lifecycle | Create, 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 pressure | If 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
- Microsoft Open Specifications: HRESULT values — used to interpret this result.
- Microsoft: WHvMapGpaRange — used to interpret this result.
- Microsoft: WHP memory data types — used to interpret this result.
- Microsoft: Hyper-V architecture — used to interpret this result.
Looking for a different code? Search another status or error code.
