| Previous | Next |
| ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE | ERROR_VID_SAVED_STATE_CORRUPT |
ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT
ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT is HRESULT 0xC0370026 in the VID memory-block construction limit area of the Windows virtualization stack. It applies to the number of memory-block pages requested when creating a VID memory block.
Object lifecycle behind the result
The requested block contains more pages than the platform accepts for one object. Determine whether the caller has a unit bug or must partition the supported workload into multiple blocks.
Neighboring result: EXCEEDED_MBP_ENTRY_MAP_LIMIT concerns active map entries; MBP_COUNT_EXCEEDED_LIMIT applies to the page count of the memory block itself.
Diagnostic evidence matrix
| Evidence | Why it changes the diagnosis |
|---|---|
| Requested count | Record pages, bytes, page size, alignment, and integer types. |
| Platform boundary | Keep last successful and first failing counts on the same build. |
| Source size | Record VM memory or device aperture that drove the calculation. |
| Split design | Capture required contiguity and whether multiple blocks are supported. |
Test one variable at a time
- Check bytes-to-pages rounding and overflow.
- Test the exact observed boundary with no other configuration changes.
- Split only at supported GPA/object boundaries.
- Avoid assuming limits are identical across Windows builds and architectures.
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.
How to read the controls
| Control | Interpretation | Hold constant |
|---|---|---|
| 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. |
| Smaller exact range | Reduce 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. |
Scope of this status
Regression proof
The implementation accepts the full supported workload using valid block sizes and rejects oversized requests before allocating partial state.
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.
