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
返回所有带。 设置此标志后,将忽略 BandIdBandStartBandSize 成员。
ENUMBANDS_REPORT_CRYPTO_ALGO
BAND_TABLE_ENTRY的 SecurityInfo 成员中包含媒体加密算法信息。

Reserved

保留。

BandId

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

BandStart

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

BandSize

可选的带大小匹配值(以字节为单位)。 如果 BandSize == 0 且 BandId == –1,则 BandStart 是用于选择波段的唯一匹配值。 否则,将完全选择 BandStart 处或之后的带区以及匹配的 BandSize

注解

如果未在 Flags 中设置ENUMBANDS_ENUM_ALL_BANDS,则会尝试选择以匹配单个波段。 基于 BandID、BandStartBandSize 中的值进行单个波段匹配。 优先于 BandID 进行波段选择。 如果 bandID> 0 和 BandID<MaxBandCount 成员BAND_MANAGEMENT_CAPABILITIES如果 BandID 大于 0 且 BandID 小于 BAND_MANAGEMENT_CAPABILITIESMaxBandCount 成员,则 BandID 用作带匹配的唯一选择条件。 如果 BandID == –1,则 使用 BandStartBandSize 作为匹配条件来选择波段。

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

如果 BandID == 0 或未配置任何波段,并且 Flags 未设置为 ENUMBANDS_ENUM_ALL_BANDS,则返回整个设备的全局带。

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

要求

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

另请参阅

BAND_MANAGEMENT_CAPABILITIES

BAND_TABLE

BAND_TABLE_ENTRY

IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS