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。若要使用 BandStartBandSize 而不是 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_KEYehstorbandmgmt.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_CAPABILITIESMaxBandCount 成员,则 BandID 用作带匹配的唯一选择条件。 如果 BandID == -1,则将 BandStart 用作选择波段的匹配条件。 如果没有与任一选择条件匹配的带区,则会在 IoStatus 块中为 IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA返回STATUS_INVALID_PARAMETER

如果 BandIDBandStart 都设置为 –1,则 IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA 设置全局波段的元数据。

带元数据存储的大小位于 BAND_MANAGEMENT_CAPABILITIESBandMetadataSize 成员中。 此结构是从IOCTL_EHSTOR_BANDMGMT_QUERY_CAPABILITIES请求返回

要为带区设置的新元数据包含在 IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA 请求的系统缓冲区中,并遵循 BufferOffset 中的此结构。

要求

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

另请参阅

BAND_MANAGEMENT_CAPABILITIES

IOCTL_EHSTOR_BANDMGMT_QUERY_CAPABILITIES

IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA