IOCTL_STORAGE_REINITIALIZE_MEDIA IOCTL (ntddstor.h)

驱动程序可以发出 IOCTL_STORAGE_REINITIALIZE_MEDIA 控制代码,将擦除过程卸载到存储设备。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

对于 Windows Server 2022 及更高版本,包含一个可选的 STORAGE_REINITIALIZE_MEDIA 结构,其中包含清理选项或 NULL。 对于早期作系统版本,输入缓冲区为 NULL。

输入缓冲区长度

对于 Windows 10 版本 21H1 及更高版本, Parameters.DeviceIoControl.InputBufferLength 指示参数缓冲区的大小(以字节为单位),Irp->AssociatedIrp.SystemBuffer,如果 Parameters.DeviceIoControl.InputBuffer != NULL,则必须 >= sizeof(STORAGE_REINITIALIZE_MEDIA)否则为零。 对于早期作系统版本,输入缓冲区长度为零。

输出缓冲区

没有。

输出缓冲区长度

没有。

输入/输出缓冲区

n/a

输入/输出缓冲区长度

n/a

状态块

如果调用成功完成,则 信息 字段设置为零;否则,它设置为非零值。

言论

IOCTL_STORAGE_REINITIALIZE_MEDIA 将擦除卸载到存储设备。 命令完成后,无法保证存储设备数据的成功删除或可恢复性。

此 IOCTL 仅限于桌面设备系列中的设备上的数据磁盘。 在 Windows 预安装环境(WinPE)中,启动和数据磁盘都支持此 IOCTL。

在早期作系统版本中,实现不需要输入,并且不返回状态以外的输出。

调用方应在调用此 IOCTL 之前先调用 FSCTL_LOCK_VOLUME,以刷新上层中的缓存数据。 在向设备发出命令之前,不会等待未完成的请求完成。

要求

要求 价值
最低支持的客户端 Windows 10 版本 1607
支持的最低服务器 Windows Server 2016
标头 ntddstor.h

另请参阅

IO_STATUS_BLOCK 结构

STORAGE_REINITIALIZE_MEDIA

如何在调度例程中完成 IRP