IOCTL_DISK_REASSIGN_BLOCKS  UML7T1 

The IOCTL_DISK_REASSIGN_BLOCKS DeviceIoControl64IE_Y8 operation directs the disk device to map one or more blocks to its spare-block pool.

dwIoControlCode = IOCTL_DISK_REASSIGN_BLOCKS;   // operation code

lpInBuffer;          // address of input buffer

nInBufferSize;       // size of input buffer

lpOutBuffer = NULL;  // address of output buffer; not used; must be NULL

nOutBufferSize = 0;  // size of output buffer; not used; must be zero

lpBytesReturned;     // address of actual bytes of output

 

Parameters

lpInBuffer

Points to a buffer that contains a REASSIGN_BLOCKS3TH95Q data structure specifying the blocks to reassign to its spare block pool.

nInBufferSize

Specifies the size, in bytes, of the buffer pointed to by lpInBuffer, which must be large enough to contain the REASSIGN_BLOCKS data structure. Note that this structure is really a header followed by an array of block specifiers; thus, it varies in size according to the number of blocks to be reassigned; each block after the first adds the size of a DWORD to the overall size.

lpOutBuffer

Points to an output buffer. Not used with this operation. Set to NULL.

nOutBufferSize

Specifies the size, in bytes, of the buffer pointed to by lpOutBuffer. Not used with this operation. Set to zero.

lpBytesReturned

Points to a DWORD that receives the actual size, in bytes, of the data stored into lpOutBuffer.

 

Return Values

If the operation succeeds, DeviceIoControl64IE_Y8 returns TRUE.

If the operation fails, DeviceIoControl returns FALSE. To get extended error information, call GetLastError11C2VS7.

Remarks

This device I/O control operation is for disk devices.

See Also

DeviceIoControl, REASSIGN_BLOCKS