IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA IOCTL (ehstorbandmgmt.h)
与带关联的元数据是使用IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA请求设置 的 。 带的元数据充当密钥管理器应用程序的数据区域。
主要代码
输入缓冲区
Irp-AssociatedIrp.SystemBuffer> 中的输入缓冲区必须包含SET_BAND_METADATA_PARAMETERS,并且可能包含AUTH_KEY结构以及要为波段设置的新元数据。
如果 SET_BAND_METADATA_PARAMETERS 的 AuthKeyOffset 成员设置为 EHSTOR_BANDMGR_NO_KEY,则系统缓冲区中的输入数据不需要包含AUTH_KEY结构。
输入缓冲区长度
Parameters.DeviceIoControl.InputBufferLength 指示缓冲区的大小(以字节为单位),该缓冲区的大小 必须至少为 (SET_BAND_METADATA_PARAMETERS) + MetadataSize + size of (AUTH_KEY) 。
输出缓冲区
无。
输出缓冲区长度
无。
状态块
可以在“ 状态” 字段中返回以下值之一:
状态值 | 说明 |
---|---|
STATUS_SUCCESS | 已为所选带设置元数据。 |
STATUS_INVALID_DEVICE_REQUEST | 存储设备不支持带管理。 |
STATUS_INVALID_BUFFER_SIZE | 输入缓冲区大小不正确。 |
STATUS_INVALID_PARAMETER | 输入缓冲区中的信息无效。 |
STATUS_NOT_FOUND | 找不到提供的选择条件的带。 |
STATUS_IO_DEVICE_ERROR | 通信失败。 存储设备可能与安全协议不兼容。 |
注解
还可以使用此 IOCTL 擦除元数据。 若要擦除带的元数据,请将输入缓冲区的元数据部分设置为所有零或其他某些擦除模式。 若要确保删除元数据 Blob 中的敏感信息,应在从 silo 驱动程序的带区表中删除带之前执行此擦除操作。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows 8 及更高版本的 Windows。 |
标头 | ehstorbandmgmt.h (包括 EhStorBandMgmt.h) |