Prev Next
The IOCTL_DISK_REASSIGN_BLOCKS DeviceIoControl
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_BLOCKS
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, DeviceIoControl
returns a nonzero value.
If the operation fails, DeviceIoControl returns zero. To get extended
error information, call GetLastError.
Remarks
This device I/O control operation is for disk devices.
See Also
DeviceIoControl, REASSIGN_BLOCKS