What does HRESULT 0x80042554 (VDS_E_ALIGN_NOT_SECTOR_SIZE_MULTIPLE) mean?

 
Previous Next
VDS_E_ALIGN_BEYOND_FIRST_CYLINDER VDS_E_ALIGN_NOT_ZERO

VDS_E_ALIGN_NOT_SECTOR_SIZE_MULTIPLE

CreatePartitionEx accepts alignment in bytes, and VDS validates it against storage geometry. An alignment boundary that cuts through sectors cannot be represented as a valid partition start rule. This HRESULT is therefore a parameter-geometry failure, distinct from an already existing partition whose start offset is misaligned.

Why this state matters

Use the actual sector size reported for the target disk and keep calculations in bytes. Do not substitute 4 KB file-system clusters or an assumed 512-byte sector size. If the management layer accepts alignment in KB or MB, inspect integer conversion and overflow before the value reaches VDS; a unit bug can easily produce a non-divisible byte count.

Diagnostic focus

  • Record the target disk sector size and the exact alignment byte value.
  • Calculate the remainder before the VDS call and reject invalid values in the caller.
  • Check unit conversions between sectors, KiB/MiB, and bytes.
  • Distinguish alignment validation from the separate volume-length sector-multiple check.

Technical references

IVdsCreatePartitionEx::CreatePartitionEx · VDS_DISK_PROP · VDS_PARTITION_PROP · IVdsPack2::CreateVolume2 · MS-VDS error codes


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