IOCTL_DISK_REASSIGN_BLOCKS_EX IOCTL (ntdddisk.h)

将有缺陷的块映射到磁盘上的新位置。 此请求指示设备将错误的块地址重新分配给其备用块池中的良好块。

IOCTL_DISK_REASSIGN_BLOCKS_EX请求允许比IOCTL_DISK_REASSIGN_BLOCKS请求更多的块进行分配。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

Irp-AssociatedIrp.SystemBuffer> 处的缓冲区包含要设置的REASSIGN_BLOCKS_EX值。 请注意,此结构包含一个大小可变的块数数组。 调用方负责确保块编号数组按升序排序。

输入缓冲区长度

IRP 的 I/O 堆栈位置中的 Parameters.DeviceIoControl.InputBufferLength 指示缓冲区的大小(以字节为单位),该大小必须 >= sizeof (REASSIGN_BLOCKS_EX) 。

输出缓冲区

无。

输出缓冲区长度

无。

状态块

信息” 字段设置为零。 “ 状态” 字段可以设置为STATUS_SUCCESS,也可以设置为STATUS_INFO_LENGTH_MISMATCH、STATUS_INSUFFICIENT_RESOURCES或STATUS_BUFFER_TOO_SMALL。

要求

要求
最低受支持的客户端 从Windows 8开始可用。
标头 ntdddisk.h (包括 Ntdddisk.h)

另请参阅

REASSIGN_BLOCKS_EX