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 只有在 ENUMBANDS_REPORT_CRYPTO_ALGO 是在 IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS 要求中設定 ENUMERATE_BANDS_PARAMETERSENUMERATE_BANDS_PARAMETERS 成員時,才會指定數據加密演算法。 否則,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 (include EhStorBandMgmt.h) |