BAND_SECURITY_INFO结构(ehstorbandmgmt.h)
BAND_SECURITY_INFO 结构指定带表条目查询的安全信息。
语法
typedef struct _BAND_SECURITY_INFO {
ULONG StructSize;
LOCKSTATE ReadLock;
LOCKSTATE WriteLock;
ALGOIDTYPE CryptoAlgoIdType;
union {
struct {
ULONG Offset;
ULONG Length;
} CryptoAlgoOidString;
ULONG CryptoAlgoNumericId;
};
BYTE Metadata[32];
} BAND_SECURITY_INFO, *PBAND_SECURITY_INFO;
成员
StructSize
结构的大小(以字节为单位)。 设置为 sizeof(BAND_SECURITY_INFO)。
ReadLock
是否可以访问带进行读取,以及读取锁受到电源重置的影响。
WriteLock
是否可以访问带进行写入,以及写入锁受到电源重置的影响。
CryptoAlgoIdType
使用的加密算法标识符的类型。 这必须设置为 AlgoIdTypeOidString。
CryptoAlgoOidString
用于保护带中数据的加密算法。
CryptoAlgoOidString.Offset
加密算法 OID 字符串开始的此结构的开头的偏移量。
CryptoAlgoOidString.Length
标识加密算法的 OID 字符串的长度。 这是一个字节长度值,包括 OID 字符串的 NULL 终止符。
CryptoAlgoNumericId
保留。
Metadata[32]
可供密钥管理器使用的元数据字段。
言论
Readlock 和 Writelock 都 LOCKSTATE 值,并指示锁定状态和锁定持久性。 它们的值为下列值之一。
锁定状态 | 描述 |
---|---|
INVALID_LOCK_STATE | 锁定状态无效。 |
PERSISTENT_UNLOCK | 设备已解锁,并在电源重置期间保持解锁状态。 |
NONPERSISTENT_UNLOCK | 设备已解锁,但在电源重置期间变为锁定状态。 |
PERSISTENT_LOCK | 设备已锁定,并在电源重置期间保持锁定状态。 |
CryptoAlgoOidString 仅在 IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS 请求中 标志ENUMERATE_BANDS_PARAMETERS 成员中设置 ENUMBANDS_REPORT_CRYPTO_ALGO 时,才指定数据加密算法。 否则,CryptoAlgoOidString.Offset 和 CryptoAlgoOidString.Length 都设置为 0。 以下是为 CryptoAlgoOidString返回的可能加密算法 OID 字符串。
算法 | OID |
---|---|
IAES128-ECB | 2.16.840.1.101.3.4.1.1 |
AES128-CBC | 2.16.840.1.101.3.4.1.2. |
AES128-OFB | 2.16.840.1.101.3.4.1.3 |
AES128-CFB | 2.16.840.1.101.3.4.1.4 |
AES128-XTS | 1.3.111.2.1619.0.1.1 |
AES256-ECB | 2.16.840.1.101.3.4.1.41 |
AES256-CBC | 2.16.840.1.101.3.4.1.42 |
AES256-OFB | 2.16.840.1.101.3.4.1.43 |
AES256-CFB | 2.16.840.1.101.3.4.1.44 |
AES256-XTS | 1.3.111.2.1619.0.1.2 |
在输入参数集中使用 BAND_SECURITY_INFO 时,CryptoAlgoIdType 和 CryptoAlgoOidString 不使用,并且必须设置为 0。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 8 开始可用 |
标头 | ehstorbandmgmt.h (包括 EhStorBandMgmt.h) |