IOCTL_VOLUME_OFFLINE IOCTL (ntddvol.h)

IOCTL_VOLUME_OFFLINE IOCTL 使卷处于 OFFLINE 状态,即读取和写入操作将失败的状态。 在收到后续 IOCTL_VOLUME_ONLINE 之前,请求不会向下传递到物理磁盘。

IOCTL_VOLUME_OFFLINE的常见用途是,当卷正在被第一个应用程序或驱动程序删除时,一个应用程序或驱动程序希望阻止通过调用从第二个应用程序或驱动程序打开卷来重新装载卷。 例如,在屏蔽逻辑单元号 (LUN) 之前,LUN 上的卷应锁定 (可选) 、卸载、脱机和卸载。 现在可以屏蔽 LUN,而不会导致即插即用 (PnP) 意外删除事件记录卷和磁盘本身。 如果不调用使卷脱机,则在用于卸载卷的句柄关闭后,如果卷是在卸载卷的调用之前发生的,则可以通过调用重新装载卷以从另一个应用程序或驱动程序打开卷。 在脱机卷上打开卷的调用成功,但定向到脱机卷的 I/O 失败。 如果应用程序或驱动程序打开了磁盘) 的句柄,则使卷脱机不会影响磁盘 I/O (,但如果应用程序或驱动程序打开卷) 句柄,则会停止卷 I/O (。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

无。

输入缓冲区长度

无。

输出缓冲区

无。

输出缓冲区长度

无。

状态块

Status 成员设置为 STATUS_SUCCESS。

要求

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

另请参阅

IOCTL_VOLUME_ONLINE