IOCTL_EHSTOR_BANDMGMT_DELETE_BAND IOCTL (ehstorbandmgmt.h)

使用 IOCTL_EHSTOR_BANDMGMT_DELETE_BAND 请求删除存储设备上配置的带。 输入参数中的擦除选项允许请求执行带数据的加密擦除。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

Irp->AssociatedIrp.SystemBuffer 的输入缓冲区必须包含 DELETE_BAND_PARAMETERS,并且可能包含 AUTH_KEY 结构。

如果 AuthKeyOffset 成员 DELETE_BAND_PARAMETERS 设置为 EHSTOR_BANDMGR_NO_KEY,则系统缓冲区中的输入数据不需要包含 AUTH_KEY 结构。

输入缓冲区长度

Parameters.DeviceIoControl.InputBufferLength 指示缓冲区的大小(以字节为单位),缓冲区的大小必须至少为 sizeof (DELETE_BAND_PARAMETERS) + sizeof(AUTH_KEY)。

输出缓冲区

没有。

输出缓冲区长度

没有。

状态块

可以在 状态 字段中返回以下值之一。

状态值 描述
STATUS_SUCCESS 已成功删除该乐队。
STATUS_INVALID_DEVICE_REQUEST 存储设备不支持带管理。
STATUS_INVALID_BUFFER_SIZE 输入缓冲区大小不正确。
STATUS_INVALID_PARAMETER 输入缓冲区中的信息无效。
STATUS_ACCESS_DENIED 身份验证密钥无效或带段被锁定以写入。
STATUS_NOT_FOUND 找不到所选条件的带。
STATUS_IO_DEVICE_ERROR 通信失败。 存储设备可能与安全协议不兼容。

言论

需要身份验证密钥才能删除带,而无需先执行擦除。 若要请求带擦除,DELBAND_ERASE_BEFORE_DELETE 标志在 DELETE_BAND_PARAMETERS标志 成员中设置。

删除带后,已删除的带中包含的所有 LBA 将返回到全局带。 全局带的锁定条件现在适用于返回到全局带的 LBA。 返回到全局带的 LBA 现在与全局带的媒体密钥相关联,并且无法恢复这些 LBA 中的加密数据。

已删除的带保留在接收器驱动程序的带表中,但未配置。 身份验证密钥重置为默认值,带和密钥元数据包含零,锁定状态还原为 PERSISTENT_UNLOCK。 现在可以使用 IOCTL_EHSTOR_BANDMGMT_CREATE_BAND 请求重新配置带。

删除没有加密擦除的带区不会删除该带的加密密钥。 稍后可以创建一个与已删除带相同的配置和带标识符的带区。 在这种情况下,以前存储在带中且不会覆盖的数据,因为删除上一个带段将可用。 为了避免这种情况,请删除带带,并在 DELETE_BAND_PARAMETERS中设置 DELBAND_ERASE_BEFORE_DELETE 标志。

IOCTL_EHSTOR_BANDMGMT_DELETE_BAND 不会删除全局带。 要执行此作的请求将返回 STATUS_INVALID_PARAMETER

要求

要求 价值
最低支持的客户端 从 Windows 8 开始可用。
标头 ehstorbandmgmt.h (包括 EhStorBandMgmt.h)

另请参阅

DELETE_BAND_PARAMETERS

IOCTL_EHSTOR_BANDMGMT_CREATE_BAND

IOCTL_EHSTOR_BANDMGMT_ERASE_BAND