SET_BAND_METADATA_PARAMETERS 结构 (ehstorbandmgmt.h)
已配置带的元数据设置为 SET_BAND_METADATA_PARAMETERS 结构中的参数。 此结构是 IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA请求的 输入。
语法
typedef struct _SET_BAND_METADATA_PARAMETERS {
ULONG StructSize;
ULONG BandId;
LARGE_INTEGER BandStart;
ULONG MetadataOffset;
ULONG MetadataSize;
ULONG BufferOffset;
ULONG AuthKeyOffset;
} SET_BAND_METADATA_PARAMETERS, *PSET_BAND_METADATA_PARAMETERS;
成员
StructSize
此结构的大小(以字节为单位)。 将 设置为 sizeof (SET_BAND_METADATA_PARAMETERS) 。
BandId
要为其返回信息的单个波段的标识符。 使用 BandId 选择单个波段时,BandSize 必须为 0。若要使用 BandStart 和 BandSize 而不是 BandId 来选择一个波段,请将 BandId = (ULONG) –1。
BandStart
用于开始带搜索的存储设备上的起始字节位置。 尝试在 BandStart 或之后匹配 某个波段。
MetadataOffset
用于设置新数据的带区元数据属性开头的偏移量。
MetadataSize
要设置的元数据字节长度。 此大小受从 BAND_MANAGEMENT_CAPABILITIES 结构的 BandMetadataSize 成员中减去的 MetadataOffset 值的限制。
BufferOffset
从 SET_BAND_METADATA_PARAMETERS 开始到新元数据位置的偏移量(以字节为单位)。
AuthKeyOffset
包含带的授权密钥 的AUTH_KEY 结构的偏移量(以字节为单位)。 偏移量从 SET_BAND_METADATA_PARAMETERS的开头开始。 AUTH_KEY 在 ehstorbandmgmt.h 中声明如下。
typedef struct _AUTH_KEY
{
ULONG KeySize;
UCHAR Key[ANYSIZE_ARRAY];
} AUTH_KEY;
KeySize
密钥中密钥数据的大小(以字节为单位)。 如果 KeySize 设置为 0,则使用默认键。
密钥
包含键数据的可变长度字节数组。
若要指定带区的默认身份验证密钥,请将 AuthKeyOffset = EHSTOR_BANDMGR_NO_KEY。
注解
为 BandID 提供带区选择的优先级。 如果 BandID 大于 0 且 BandID 小于 BAND_MANAGEMENT_CAPABILITIES 的 MaxBandCount 成员,则 BandID 用作带匹配的唯一选择条件。 如果 BandID == -1,则将 BandStart 用作选择波段的匹配条件。 如果没有与任一选择条件匹配的带区,则会在 IoStatus 块中为 IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA返回STATUS_INVALID_PARAMETER。
如果 BandID 和 BandStart 都设置为 –1,则 IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA 设置全局波段的元数据。
带元数据存储的大小位于 BAND_MANAGEMENT_CAPABILITIES 的 BandMetadataSize 成员中。 此结构是从IOCTL_EHSTOR_BANDMGMT_QUERY_CAPABILITIES请求返回 的 。
要为带区设置的新元数据包含在 IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA 请求的系统缓冲区中,并遵循 BufferOffset 中的此结构。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从Windows 8开始可用 |
标头 | ehstorbandmgmt.h (包括 EhStorBandMgmt.h) |