REASSIGN_BLOCKS_EX structure (winioctl.h)

Contains disk block reassignment data. This is a variable length structure where the last member is an array of block numbers to be reassigned. It is used by the IOCTL_DISK_REASSIGN_BLOCKS_EX control code.

Syntax

typedef struct _REASSIGN_BLOCKS_EX {
  WORD          Reserved;
  WORD          Count;
  LARGE_INTEGER BlockNumber[1];
} REASSIGN_BLOCKS_EX, *PREASSIGN_BLOCKS_EX;

Members

Reserved

This member is reserved. Do not use it. Set it to 0 (zero).

Count

The number of blocks to be reassigned.

This is the number of elements that are in the BlockNumber member array.

BlockNumber[1]

An array of Count block numbers, one for each block to be reassigned.

Remarks

The REASSIGN_BLOCKS_EX structure supports drives that have an 8-byte Logical Block Address (LBA), which is typically required for storage devices larger than 2 TB. The REASSIGN_BLOCKS structure used with the IOCTL_DISK_REASSIGN_BLOCKS control code supports devices with up to a 4-byte LBA should be used where possible.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008, Windows Server 2003 with SP1 [desktop apps only]
Header winioctl.h (include Windows.h)

See also

IOCTL_DISK_REASSIGN_BLOCKS

IOCTL_DISK_REASSIGN_BLOCKS_EX

REASSIGN_BLOCKS