IOCTL_DISK_REASSIGN_BLOCKS IOCTL (ntdddisk.h)
将有缺陷的块映射到磁盘上的新位置。 此请求指示设备将错误的块地址重新分配给其备用块池中的良好块。
主要代码
输入缓冲区
Irp->AssociatedIrp.SystemBuffer 的缓冲区包含要设置的 REASSIGN_BLOCKS 值。 请注意,此结构包含可变大小的块数数组。 调用方有责任确保块编号数组按升序排序。
输入缓冲区长度
IRP 的 I/O 堆栈位置中的 Parameters.DeviceIoControl.InputBufferLength 指示缓冲区的大小(以字节为单位),缓冲区的大小 >必须为 sizeof(REASSIGN_BLOCKS)。
输出缓冲区
没有。
输出缓冲区长度
没有。
状态块
信息 字段设置为零。 状态 字段可以设置为STATUS_SUCCESS,也可以设置为STATUS_INFO_LENGTH_MISMATCH、STATUS_INSUFFICIENT_RESOURCES或STATUS_BUFFER_TOO_SMALL。
要求
要求 | 价值 |
---|---|
标头 | ntdddisk.h (包括 Ntdddisk.h) |