| Previous | Next |
| ERROR_VHD_INVALID_STATE | ERROR_VIRTDISK_DISK_ALREADY_OWNED |
ERROR_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE
Read the code at the owning storage layer: virtdisk unsupported disk sector size
ERROR_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE has unsigned value 0xC03A001D. In the virtdisk layer, it rejects a specific contract because the host storage sector geometry is not supported for the virtual disk format or requested attach/create operation while diagnosing this result. Diagnosis of it should follow Virtual Disk API provider, image format and host-disk state through one controlled state transition.
The Virtual Disk API chooses a format provider from VIRTUAL_STORAGE_TYPE, opens an image with explicit access rights and can attach it as a disk. Provider selection, backing-chain integrity, host-file attributes, sector geometry and operating-system ownership are independent validation stages. This object model determines which identifiers, counts and ownership state are meaningful.
The standard message identifies the immediate condition, but this result also requires the producer API, object topology and attempted state transition for this HRESULT. Capture them before an automatic refresh advances the storage generation.
Build a trustworthy incident record
| Storage diagnostic field | Value |
|---|---|
| Identity and generation | image path, VIRTUAL_STORAGE_TYPE, provider/vendor IDs, VHD/VHDX/VHD Set identifiers, host sector sizes, attach flags, ownership and online/read-only state |
| Narrow experiment | move a copy of the image between host disks with documented sector geometries and repeat the same create or attach operation |
| Closest comparison | ERROR_VIRTDISK_NOT_VIRTUAL_DISK |
| Owning object | Virtual Disk API provider, image format and host-disk state |
| Rejected invariant | the host storage sector geometry is not supported for the virtual disk format or requested attach/create operation |
Do not overwrite this result with a close, detach or rollback error. Preserve the causal order so the original storage contract remains visible.
Controlled comparison
- Associate this result with one caller, one transaction and one target UniqueId while diagnosing it.
- Save the pre-call and post-call inventories, including image path, VIRTUAL_STORAGE_TYPE, provider/vendor IDs, VHD/VHDX/VHD Set identifiers, host sector sizes, attach flags, ownership and online/read-only state for this HRESULT.
- Use this A/B case for this HRESULT without touching unrelated storage: move a copy of the image between host disks with documented sector geometries and repeat the same create or attach operation.
- Validate both the HRESULT and the on-disk or provider state after the relevant reopen, remount or attach cycle for this HRESULT.
The distinction from ERROR_VIRTDISK_NOT_VIRTUAL_DISK is operational. The decisive condition is the host storage sector geometry is not supported for the virtual disk format or requested attach/create operation; log the neighboring code separately so capability, identity and state are not conflated.
Mechanism-specific note
Record logical and physical sector sizes for every layer: image format, host file system and physical disk. Alignment must be checked with integer arithmetic before truncation. Copying an image to a different device can change the host geometry even when the image bytes and virtual capacity remain identical for this HRESULT.
Completion criteria
Correct the provider, image format, backing-file chain, host geometry or disk ownership identified by the failing call, then reopen the image to obtain a new handle before retrying for this HRESULT. Keep the correction scoped to the owning object and avoid rewriting adjacent metadata merely to make the call return success.
- the first retry uses newly enumerated identifiers rather than cached handles.
- The durable metadata or provider state agrees with the success returned after it.
- A second run after close/reopen does not recreate the rejected the condition.
- the nearby
ERROR_VIRTDISK_NOT_VIRTUAL_DISKpath remains separately testable and separately logged.
Avoid broad rescans, forced failovers and metadata deletion until identities and generations are captured for this HRESULT. Those actions can make a stale request appear to heal without fixing its caller.
Technical references
- Microsoft: Virtual Disk API — documents the supported management path relevant to it.
- Microsoft: OpenVirtualDisk — defines the virtdisk objects used to interpret it.
- Microsoft: AttachVirtualDisk — primary API or object-model reference for the boundary.
- Microsoft: GetVirtualDiskInformation — use this source to verify virtdisk state and parameters for this HRESULT.
Looking for a different code? Search another status or error code.
