次の方法で共有


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 の組み合わせです。

意味
SETBANDSEC_AUTHKEY_CACHING_ENABLED
新しい認証キーをキャッシュして、一部のバンド操作を自動化できます。

Reserved

BandId

情報を返す 1 つのバンドの識別子。 BandId で 1 つのバンドが選択されている場合、BandSize は 0 である必要があります。BandId の代わりに BandStartBandSize を使用してバンドを選択するには、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 より大きく、BandIDBAND_MANAGEMENT_CAPABILITIESMaxBandCount メンバーより小さい場合、バンド一致の唯一の選択基準として BandID が使用されます。 BandID == –1 の場合、バンドを選択するための一致条件として BandStart が使用されます。 いずれかの選択基準に一致するバンドがない場合は、IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITYの IoStatus ブロックで STATUS_INVALID_PARAMETERが返されます。

BandIDBandStart の両方が –1 に設定されている場合、IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY要求によってグローバル バンドのプロパティが変更されます。

NewAuthKeyOffsetBandSecurityInfoOffset は、操作の要件に応じて省略可能です。 認証キーのみが変更された場合、 NewAuthKeyOffset は新 しいキーの AUTH_KEY 構造体の場所に設定され、 BandSecurityInfoOffset は 0 に設定されます。 同様に、セキュリティ プロパティのみが変更された場合、 BandSecurityInfoOffsetBAND_SECURITY_INFO の場所に設定され、 NewAuthKeyOffset は 0 に設定されます。

BandSecurityInfoOffsetBAND_SECURITY_INFO構造体の CryptoAlgoIdType メンバーと CryptoAlgoOidString メンバーは、バンド作成要求では使用されず、0 に設定する必要があります。

要件

要件
サポートされている最小のクライアント Windows 8 以降で使用可能
Header ehstorbandmgmt.h (EhStorBandMgmt.h を含む)

こちらもご覧ください

BAND_LOCATION_INFO

BAND_MANAGEMENT_CAPABILITIES

IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION