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 组合。
值 | 含义 |
---|---|
|
可以缓存新的身份验证密钥,以自动执行某些波段操作。 |
Reserved
BandId
要返回其信息的单个波段的标识符。 使用 BandId 选择单个波段时,BandSize 必须为 0。若要使用 BandStart 和 BandSize 而不是 BandId 选择波段,请将 BandId = (ULONG) –1。
BandStart
用于开始带搜索的存储设备上的起始字节位置。 尝试在 BandStart 或 BandStart 之后匹配一个乐队。
CurrentAuthKeyOffset
包含带的当前身份验证密钥 的AUTH_KEY 结构的偏移量(以字节为单位)。 此身份验证密钥是必需的,并且必须遵循此结构存在。 偏移量从 SET_BAND_SECURITY_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。
NewAuthKeyOffset
包含带的新身份验证密钥的 AUTH_KEY 结构的偏移量(以字节为单位)。 偏移量从 SET_BAND_SECURITY_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。 如果 NewAuthKeyOffset == CurrentAuthKeyOffset,则带的身份验证密钥保持不变。
BandSecurityInfoOffset
BAND_SECURITY_INFO结构的偏移量(以字节为单位)。 偏移量从 SET_BAND_SECURITY_PARAMETERS开始。
注解
优先于 BandID 进行波段选择。 如果 BandID 大于 0 且 BandID 小于 BAND_MANAGEMENT_CAPABILITIES 的 MaxBandCount 成员,则 BandID 用作带匹配的唯一选择条件。 如果 BandID == –1,则将 BandStart 用作选择波段的匹配条件。 如果没有波段与任一选择条件匹配,则会在 IoStatus 块中返回 STATUS_INVALID_PARAMETER IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY。
如果 BandID 和 BandStart 都设置为 –1,则 IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY 请求将更改全局波段的属性。
NewAuthKeyOffset 和 BandSecurityInfoOffset 是可选的,具体取决于操作的要求。 如果只更改了身份验证密钥,则将 NewAuthKeyOffset 设置为新密钥 的 AUTH_KEY 结构的位置, 并将 BandSecurityInfoOffset 设置为零。 同样,如果仅更改安全属性, BandSecurityInfoOffset 将设置为 BAND_SECURITY_INFO 位置, NewAuthKeyOffset 设置为 0。
BandSecurityInfoOffsetBAND_SECURITY_INFO 结构的 CryptoAlgoIdType 和 CryptoAlgoOidString 成员不在带创建请求中使用,必须设置为 0。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从Windows 8开始可用 |
标头 | ehstorbandmgmt.h (包括 EhStorBandMgmt.h) |