BAND_SECURITY_INFO structure (ehstorbandmgmt.h)
The BAND_SECURITY_INFO structure specifies the security information for a band table entry query.
Syntax
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;
Members
StructSize
The size of the structure in bytes. Set to sizeof(BAND_SECURITY_INFO).
ReadLock
Whether the band is accessible for reading and how a read lock is affected by a power reset.
WriteLock
Whether the band is accessible for writing and how a write lock is affected by a power reset.
CryptoAlgoIdType
The type of encryption algorithm identifier used. This must be set to AlgoIdTypeOidString.
CryptoAlgoOidString
The encryption algorithm used to protect the data in the band.
CryptoAlgoOidString.Offset
The offset from the beginning of this structure where the encryption algorithm OID string begins.
CryptoAlgoOidString.Length
The length of the OID string identifying the encryption algorithm. This is a byte-length value including a NULL terminator for the OID string.
CryptoAlgoNumericId
Reserved.
Metadata[32]
A metadata field available for use by a key manager.
Remarks
Both Readlock and Writelock are LOCKSTATE values and indicate locking state and lock persistence. Their values are one of the following.
Lock State | Description |
---|---|
INVALID_LOCK_STATE | The lock state is not valid. |
PERSISTENT_UNLOCK | The device is unlocked and remains unlocked during power reset. |
NONPERSISTENT_UNLOCK | The device is unlocked but becomes locked during power reset. |
PERSISTENT_LOCK | The device is locked and remains locked during power reset. |
CryptoAlgoOidString specifies the data encryption algorithm only if ENUMBANDS_REPORT_CRYPTO_ALGO is set in the Flags member of ENUMERATE_BANDS_PARAMETERS in an IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS request. Otherwise, both CryptoAlgoOidString.Offset and CryptoAlgoOidString.Length are set to 0. The following are possible encryption algorithm OID strings returned for CryptoAlgoOidString.
Algorithm | 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 |
When BAND_SECURITY_INFO is used in an input parameter set, CryptoAlgoIdType and CryptoAlgoOidString are not used and must be set to 0.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 8 |
Header | ehstorbandmgmt.h (include EhStorBandMgmt.h) |