| Previous | Next |
| STATUS_TOO_MANY_SEGMENT_DESCRIPTORS | STATUS_INVALID_FIELD_IN_PARAMETER_LIST |
STATUS_INVALID_OFFSET_ALIGNMENT
Offset alignment is a device-transfer constraint
STATUS_INVALID_OFFSET_ALIGNMENT means the offset itself does not align to the target’s required granularity. Windows can expose storage access-alignment information through StorageAccessAlignmentProperty, which returns a STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR for data transfers.
Do not collapse all alignment failures into one rule. The starting data offset, transfer length, buffer address, logical sector size and physical-sector alignment are separate properties. A buffer can be correctly aligned in memory while the requested device offset is still invalid. Likewise, rounding an offset down silently changes which data is addressed.
Use the actual target’s alignment descriptor or protocol limits when constructing ranges. For a higher-level copy or offload command, trace the offset all the way from file or virtual-disk coordinates to the descriptor sent to the device so that unit conversions and partition offsets can be checked.
What to inspect
- Requested offset and length in bytes, plus the units used at every conversion step.
- Logical and physical sector values and the target’s reported access-alignment descriptor.
- Whether the failing descriptor was reused from a different device, LUN, or virtual-disk geometry.
References
- Microsoft: STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR
- Microsoft: STORAGE_PROPERTY_ID
- Microsoft: General storage I/O control codes
- Microsoft Open Specifications: NTSTATUS values
Looking for a different code? Search another status or error code.