REASSIGN_BLOCKS structure

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 control code.

Syntax


typedef struct _REASSIGN_BLOCKS {
  WORD  Reserved;
  WORD  Count;
  DWORD BlockNumber[1];
} REASSIGN_BLOCKS;

Members

Reserved

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

Count

The number of blocks to be reassigned.

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

BlockNumber

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

Remarks

The REASSIGN_BLOCKS structure only supports drives where the Logical Block Address (LBA) is a 4-byte value (typically up to 2 TB).

For larger drives the REASSIGN_BLOCKS_EX structure that is used with the IOCTL_DISK_REASSIGN_BLOCKS_EX control code supports 8-byte LBAs.

For device compatibility, the IOCTL_DISK_REASSIGN_BLOCKS control code and REASSIGN_BLOCKS structure should be used where possible.

Requirements

Minimum supported client

Windows XP [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]

Header

WinIoCtl.h (include Windows.h)

See also

IOCTL_DISK_REASSIGN_BLOCKS
IOCTL_DISK_REASSIGN_BLOCKS_EX
REASSIGN_BLOCKS_EX

 

 

Community Additions

ADD
Show:
© 2014 Microsoft