SET_BAND_SECURITY_PARAMETERS 结构 (ehstorbandmgmt.h)

SET_BAND_SECURITY_PARAMETERS结构中指定用于在存储设备上为IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY请求设置带的安全属性的参数。

语法

typedef struct _SET_BAND_SECURITY_PARAMETERS {
  ULONG         StructSize;
  ULONG         Flags;
  ULONG         Reserved;
  ULONG         BandId;
  LARGE_INTEGER BandStart;
  ULONG         CurrentAuthKeyOffset;
  ULONG         NewAuthKeyOffset;
  ULONG         BandSecurityInfoOffset;
} SET_BAND_SECURITY_PARAMETERS, *PSET_BAND_SECURITY_PARAMETERS;

成员

StructSize

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

Flags

安全参数标志。 此值是以下内容的按位 OR 组合。

含义
SETBANDSEC_AUTHKEY_CACHING_ENABLED
可以缓存新的身份验证密钥,以自动执行某些波段操作。

Reserved

BandId

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

BandStart

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

CurrentAuthKeyOffset

包含带的当前身份验证密钥 的AUTH_KEY 结构的偏移量(以字节为单位)。 此身份验证密钥是必需的,并且必须遵循此结构存在。 偏移量从 SET_BAND_SECURITY_PARAMETERS开始。 AUTH_KEYehstorbandmgmt.h 中声明如下。

typedef struct _AUTH_KEY
{
    ULONG   KeySize;
    UCHAR   Key[ANYSIZE_ARRAY];
} AUTH_KEY;

KeySize

密钥的键数据的大小(以字节为单位)。 如果 KeySize 设置为 0,则使用默认键。

密钥

包含键数据的可变长度字节数组。

若要指定带的默认身份验证密钥,请设置 AuthKeyOffset = EHSTOR_BANDMGR_NO_KEY

NewAuthKeyOffset

包含带的新身份验证密钥的 AUTH_KEY 结构的偏移量(以字节为单位)。 偏移量从 SET_BAND_SECURITY_PARAMETERS开始。 AUTH_KEYehstorbandmgmt.h 中声明如下。

typedef struct _AUTH_KEY
{
    ULONG   KeySize;
    UCHAR   Key[ANYSIZE_ARRAY];
} AUTH_KEY;

KeySize

密钥的键数据的大小(以字节为单位)。 如果 KeySize 设置为 0,则使用默认键。

密钥

包含键数据的可变长度字节数组。

若要将默认身份验证密钥分配给带,请设置 AuthKeyOffset = EHSTOR_BANDMGR_NO_KEY。 如果 NewAuthKeyOffset == CurrentAuthKeyOffset,则带的身份验证密钥保持不变。

BandSecurityInfoOffset

BAND_SECURITY_INFO结构的偏移量(以字节为单位)。 偏移量从 SET_BAND_SECURITY_PARAMETERS开始。

注解

优先于 BandID 进行波段选择。 如果 BandID 大于 0 且 BandID 小于 BAND_MANAGEMENT_CAPABILITIESMaxBandCount 成员,则 BandID 用作带匹配的唯一选择条件。 如果 BandID == –1,则将 BandStart 用作选择波段的匹配条件。 如果没有波段与任一选择条件匹配,则会在 IoStatus 块中返回 STATUS_INVALID_PARAMETER IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY

如果 BandIDBandStart 都设置为 –1,则 IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY 请求将更改全局波段的属性。

NewAuthKeyOffsetBandSecurityInfoOffset 是可选的,具体取决于操作的要求。 如果只更改了身份验证密钥,则将 NewAuthKeyOffset 设置为新密钥 的 AUTH_KEY 结构的位置, 并将 BandSecurityInfoOffset 设置为零。 同样,如果仅更改安全属性, BandSecurityInfoOffset 将设置为 BAND_SECURITY_INFO 位置, NewAuthKeyOffset 设置为 0。

BandSecurityInfoOffsetBAND_SECURITY_INFO 结构的 CryptoAlgoIdTypeCryptoAlgoOidString 成员不在带创建请求中使用,必须设置为 0。

要求

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

另请参阅

BAND_LOCATION_INFO

BAND_MANAGEMENT_CAPABILITIES

IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION