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 值,並指出鎖定狀態和鎖定持續性。 其值為下列其中一項。
鎖定狀態 | Description |
---|---|
INVALID_LOCK_STATE | 鎖定狀態無效。 |
PERSISTENT_UNLOCK | 裝置已解除鎖定,並在電源重設期間保持解除鎖定。 |
NONPERSISTENT_UNLOCK | 裝置已解除鎖定,但在電源重設期間會變成鎖定。 |
PERSISTENT_LOCK | 裝置已鎖定,並在電源重設期間保持鎖定狀態。 |
CryptoAlgoOidString 只有在ENUMBANDS_REPORT_CRYPTO_ALGO是在IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS要求中ENUMERATE_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 (包括 EhStorBandMgmt.h) |