| Previous | Next |
| ERROR_VOLMGR_NO_REGISTERED_USERS | ERROR_VOLMGR_NOTIFICATION_RESET |
ERROR_VOLMGR_NO_SUCH_USER
What this result says about the disk model: volmgr no such user
ERROR_VOLMGR_NO_SUCH_USER (0xC038002B) is emitted by the volmgr path when the caller tried to update or remove a notification registration identifier that is no longer present. The deciding object is volume-manager notification registration and pending wait request, so the first investigation belongs there rather than in a generic “disk failure” bucket.
Keep the first result attached to its request parameters and object instance. Cleanup failures or a later drive-letter change are secondary evidence, not replacements for the original failure.
Capture the exact object instance
| Storage diagnostic field | Value |
|---|---|
| Owning object | volume-manager notification registration and pending wait request |
| Rejected invariant | the caller tried to update or remove a notification registration identifier that is no longer present |
| Identity and generation | registration ID, task number, pending IRP count, process lifetime, pack ID and the notification generation returned before the failure |
| Narrow experiment | register one consumer, issue exactly one asynchronous wait, complete or cancel it, and compare registration/task identifiers at each step |
| Closest comparison | ERROR_VOLMGR_NO_REGISTERED_USERS |
Keep this HRESULT as the primary result if rollback or cleanup reports another code; those later values describe recovery, not the first rejected invariant.
Prove the condition in a test volume
- Before changing state, freeze the failing generation and save registration ID, task number, pending IRP count, process lifetime, pack ID and the notification generation returned before the failure.
- Exercise this exact comparison: register one consumer, issue exactly one asynchronous wait, complete or cancel it, and compare registration/task identifiers at each step.
- During the comparison, keep image bytes, unrelated disks, provider policy and cluster topology fixed.
- After the test, record the next return value and the durable object state; crossing the boundary should expose a later result rather than silently retrying.
ERROR_VOLMGR_NO_REGISTERED_USERS describes a nearby but different storage condition; this result indicates that the caller tried to update or remove a notification registration identifier that is no longer present.
Mechanism-specific note
Notification registrations have two lifetimes: the registration itself and any outstanding asynchronous wait. Log both identifiers and the cancellation path. A service restart, handle close or notification reset can invalidate the old generation even when the numeric task value is later reused, so never match completion by task number alone.
Safe recovery path
Repair notification ownership and sequencing: cancel stale waits, unregister only live IDs, then create one replacement registration after the previous generation is closed. The repair is incomplete until a fresh enumeration and new handle observe the corrected state.
- The controlled A/B case changes only the invariant that triggers this result.
- No unrelated disk, cluster owner, tier policy or virtual-disk backing file is altered to hide it.
- Health, synchronization or job state reaches a terminal value consistent with the repaired operation.
- Telemetry includes both symbolic names when it or
ERROR_VOLMGR_NO_REGISTERED_USERSoccurs again.
Technical references
- Microsoft: COM error codes for VOLMGR, VHD and SDIAG — defines the volmgr objects used to interpret it.
- Microsoft: Virtual Disk Service object model — primary API or object-model reference.
- Microsoft: Pack object — use this source to verify volmgr state and parameters.
- Microsoft: Virtual Disk Service common return codes — documents the supported management path relevant to this HRESULT.
Looking for a different code? Search another status or error code.