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]

金鑰管理員可使用的元數據欄位。

備註

ReadlockWritelock 都是 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.OffsetCryptoAlgoOidString.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時,不會使用 CryptoAlgoIdTypeCryptoAlgoOidString ,而且必須設定為 0。

規格需求

需求
最低支援的用戶端 從 Windows 8 開始提供
標頭 ehstorbandmgmt.h (包括 EhStorBandMgmt.h)

另請參閱

BAND_TABLE_ENTRY

ENUMERATE_BANDS_PARAMETERS

IOCTL_EHSTOR_BANDMGMT_CREATE_BAND

IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS