共用方式為


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 值,並指出鎖定狀態和鎖定持續性。 其值為下列其中一項。

鎖定狀態 描述
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.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 (include EhStorBandMgmt.h)

另請參閱

BAND_TABLE_ENTRY

ENUMERATE_BANDS_PARAMETERS

IOCTL_EHSTOR_BANDMGMT_CREATE_BAND

IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS