Site icon EfmSoft

What does HRESULT 0xC0370025 (ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE) mean?

 
Could be also:
ConstantTypeOS
STATUS_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGENTSTATUSWindows
Previous Next
ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT

ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE

ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE is HRESULT 0xC0370025 in the VID reserved-page lock exclusivity area of the Windows virtualization stack. It applies to a memory-block page that already has a lock backed by a reserve page-set page.

Why this result is specific

The caller tries to lock or map the same MBP through a path incompatible with the existing reserved-page-backed lock. Establish whether duplicate, overlapping, or differently flagged ownership caused the conflict.

Neighboring result: MBPS_ARE_LOCKED is broader; this code identifies the specific existing lock mechanism that uses a reserve page.

Records worth collecting

EvidenceWhy it changes the diagnosis
MBP identityRecord block, page index/GPA, and partition.
Existing lockKeep reserve set, owner, access flags, and acquisition time.
New requestCapture overlap, requested flags, and caller.
Release dependencyIdentify the completion that will free the reserved page.

A reproducible test plan

  1. Detect overlapping locks in the caller before submitting them.
  2. Reuse the existing lock only when ownership and access semantics allow.
  3. Serialize transitions between reserved and ordinary mapping paths.
  4. Test partial overlap and concurrent lock requests.

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

A handle observed is generation-bound. Keep its parent partition and object type beside the token; never serialize it, copy it to another partition, or reuse it after the terminal transition.

Verification after repair

Each MBP has one compatible lock owner at a time and transitions release the reserve page before another mechanism acquires it.

Technical references


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

Exit mobile version