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。

在早期 OS 版本中,实现不需要任何输入,并且除了状态之外,不返回其他输出。

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

要求

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

另请参阅

IO_STATUS_BLOCK 结构

STORAGE_REINITIALIZE_MEDIA

如何在 Dispatch 例程中完成 IRP