ENUMERATE_BANDS_PARAMETERS结构(ehstorbandmgmt.h)

ENUMERATE_BANDS_PARAMETERS 结构用于选择要从 IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS 请求返回的带状信息条目。

语法

typedef struct _ENUMERATE_BANDS_PARAMETERS {
  ULONG         StructSize;
  ULONG         Flags;
  ULONG         Reserved;
  ULONG         BandId;
  LARGE_INTEGER BandStart;
  LARGE_INTEGER BandSize;
} ENUMERATE_BANDS_PARAMETERS, *PENUMERATE_BANDS_PARAMETERS;

成员

StructSize

此结构的大小(以字节为单位)。 设置为 sizeof(ENUMERATE_BANDS_PARAMETERS)。

Flags

带枚举标志。 此值是以下内容的按位 OR 组合。

价值 意义
ENUMBANDS_ENUM_ALL_BANDS
返回所有带。 设置此标志后,将忽略 BandIdBandStart,并忽略 BandSize 成员。
ENUMBANDS_REPORT_CRYPTO_ALGO
SecurityInfo 成员 BAND_TABLE_ENTRY中包含媒体加密算法信息。

Reserved

保留。

BandId

要返回其信息的单个带的标识符。 当使用 BandId 选择单个带时,BandSize 必须为 0。 若要使用 BandStartBandSize 而不是 BandId 来选择带,请将 BandId = (ULONG) –1。

BandStart

存储设备上的起始字节位置开始带搜索。 尝试在 BandStart或之后匹配一个乐队。

BandSize

可选的带大小匹配值(以字节为单位)。 如果 BandSize == 0,BandId == –1,则 BandStart 是唯一选择带的匹配值。 否则,BandStart 时或之后 和完全选择匹配的带 BandSize

言论

如果未在 标志中设置 ENUMBANDS_ENUM_ALL_BANDS,则会尝试选择匹配单个带。 单个带段匹配基于 BandIDBandStartBandSize中的值进行。 优先于 BandID 进行带选择。 如果 BandID> 0 和 BandID<MaxBandCountBAND_MANAGEMENT_CAPABILITIES 成员,如果 BandID 大于 0,并且 BandID 小于 BAND_MANAGEMENT_CAPABILITIESMaxBandCount 成员,则 BandID 用作带匹配的唯一选择条件。 如果 BandID == –1,则 BandStartBandSize 用作匹配条件以选择带。

BandStartBandSize 用于匹配带时,返回 BandStart 位置后配置的第一个带段,其确切大小为 BandSize。 如果 BandSize == 0,则当 BandStart 有效时,返回 BandStart 之后配置的第一个带。

如果 BandID == 0 或未配置带,并且 标志 未设置为ENUMBANDS_ENUM_ALL_BANDS,则返回整个设备的全局带。

BandStartBandSize 无效,除非其值(以字节为单位)是基础存储设备扇区大小的确切倍数。

要求

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

另请参阅

BAND_MANAGEMENT_CAPABILITIES

BAND_TABLE

BAND_TABLE_ENTRY

IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS