SET_BAND_SECURITY_PARAMETERS構造体 (ehstorbandmgmt.h)
IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY要求のストレージ デバイス上のバンドのセキュリティ プロパティを設定するパラメーターは、SET_BAND_SECURITY_PARAMETERS構造体で指定されます。
構文
typedef struct _SET_BAND_SECURITY_PARAMETERS {
ULONG StructSize;
ULONG Flags;
ULONG Reserved;
ULONG BandId;
LARGE_INTEGER BandStart;
ULONG CurrentAuthKeyOffset;
ULONG NewAuthKeyOffset;
ULONG BandSecurityInfoOffset;
} SET_BAND_SECURITY_PARAMETERS, *PSET_BAND_SECURITY_PARAMETERS;
メンバー
StructSize
この構造体のバイト単位のサイズ。 sizeof(SET_BAND_SECURITY_PARAMETERS) に設定します。
Flags
セキュリティ パラメーター フラグ。 この値は、次のビットごとの OR の組み合わせです。
値 | 意味 |
---|---|
|
新しい認証キーをキャッシュして、一部のバンド操作を自動化できます。 |
Reserved
BandId
情報を返す 1 つのバンドの識別子。 BandId で 1 つのバンドが選択されている場合、BandSize は 0 である必要があります。BandId の代わりに BandStart と BandSize を使用してバンドを選択するには、BandId = (ULONG) –1 を設定します。
BandStart
バンド検索を開始するストレージ デバイス上の開始バイト位置。 BandStart 以降でバンドとの一致が試行されます。
CurrentAuthKeyOffset
バンドの現在の認証キーを含む AUTH_KEY 構造体のオフセット (バイト単位)。 この認証キーは必須であり、この構造の後に存在する必要があります。 オフセットは、 SET_BAND_SECURITY_PARAMETERSの先頭から取得されます。 AUTH_KEY は、 ehstorbandmgmt.h で次のように宣言されています。
typedef struct _AUTH_KEY
{
ULONG KeySize;
UCHAR Key[ANYSIZE_ARRAY];
} AUTH_KEY;
KeySize
Key のキー データのキーのサイズ (バイト単位)。 KeySize が 0 に設定されている場合は、既定のキーが使用されます。
キー
キー データを含む可変長バイト配列。
既定の認証キーをバンドに指定するには、 AuthKeyOffset = EHSTOR_BANDMGR_NO_KEYを設定します。
NewAuthKeyOffset
バンドの新しい認証キーを含む AUTH_KEY 構造体のオフセット (バイト単位)。 オフセットは、 SET_BAND_SECURITY_PARAMETERSの先頭から取得されます。 AUTH_KEY は、 ehstorbandmgmt.h で次のように宣言されています。
typedef struct _AUTH_KEY
{
ULONG KeySize;
UCHAR Key[ANYSIZE_ARRAY];
} AUTH_KEY;
KeySize
Key のキー データのキーのサイズ (バイト単位)。 KeySize が 0 に設定されている場合は、既定のキーが使用されます。
キー
キー データを含む可変長バイト配列。
既定の認証キーをバンドに割り当てるには、 AuthKeyOffset = EHSTOR_BANDMGR_NO_KEYを設定します。 NewAuthKeyOffset == CurrentAuthKeyOffset の場合、バンドの認証キーは変更されません。
BandSecurityInfoOffset
BAND_SECURITY_INFO構造体のオフセット (バイト単位)。 オフセットは、 SET_BAND_SECURITY_PARAMETERSの先頭から取得されます。
注釈
バンド選択の優先順位は BandID に指定されます。 BandID が 0 より大きく、BandID が BAND_MANAGEMENT_CAPABILITIES の MaxBandCount メンバーより小さい場合、バンド一致の唯一の選択基準として BandID が使用されます。 BandID == –1 の場合、バンドを選択するための一致条件として BandStart が使用されます。 いずれかの選択基準に一致するバンドがない場合は、IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITYの IoStatus ブロックで STATUS_INVALID_PARAMETERが返されます。
BandID と BandStart の両方が –1 に設定されている場合、IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY要求によってグローバル バンドのプロパティが変更されます。
NewAuthKeyOffset と BandSecurityInfoOffset は、操作の要件に応じて省略可能です。 認証キーのみが変更された場合、 NewAuthKeyOffset は新 しいキーの AUTH_KEY 構造体の場所に設定され、 BandSecurityInfoOffset は 0 に設定されます。 同様に、セキュリティ プロパティのみが変更された場合、 BandSecurityInfoOffset は BAND_SECURITY_INFO の場所に設定され、 NewAuthKeyOffset は 0 に設定されます。
BandSecurityInfoOffset のBAND_SECURITY_INFO構造体の CryptoAlgoIdType メンバーと CryptoAlgoOidString メンバーは、バンド作成要求では使用されず、0 に設定する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 以降で使用可能 |
Header | ehstorbandmgmt.h (EhStorBandMgmt.h を含む) |