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 は、IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS要求の ENUMERATE_BANDS_PARAMETERS の Flags メンバーにENUMBANDS_REPORT_CRYPTO_ALGOが設定されている場合にのみ、データ暗号化アルゴリズムを指定します。 それ以外の場合、 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 以降で使用可能 |
Header | ehstorbandmgmt.h (EhStorBandMgmt.h を含む) |