次の方法で共有


IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY IOCTL (ehstorbandmgmt.h)

バンド管理ストレージ デバイス内のバンドのセキュリティ プロパティは、 IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY 要求で変更されます。

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

Irp-AssociatedIrp.SystemBuffer の>バッファーには、SET_BAND_SECURITY_PARAMETERS構造体の後に、AUTH_KEYBAND_SECURITY_INFO構造体が含まれている必要があります。

SET_BAND_SECURITY_PARAMETERSAuthKeyOffset メンバーがEHSTOR_BANDMGR_NO_KEYに設定されている場合、システム バッファー内の入力データにAUTH_KEY構造体を含める必要はありません。 また、新しい認証キーが指定されていない場合、更新されたキー構造は含まれません。

入力バッファーの長さ

Parameters.DeviceIoControl.InputBufferLength は、バッファーのサイズ (バイト単位) を示します。これは、すべての入力構造体が必要な場合、少なくとも sizeof (SET_BAND_SECURITY_PARAMETERS) + 2 * sizeof(AUTH_KEY) + sizeof(BAND_SECURITY_INFO) である必要があります。

出力バッファー

[なし] :

出力バッファーの長さ

[なし] :

ステータス ブロック

[状態] フィールドには、次のいずれかの値を返すことができます。

状態の値 説明
STATUS_SUCCESS バンドのセキュリティ プロパティが変更されました。
STATUS_INVALID_DEVICE_REQUEST ストレージ デバイスは、バンド管理をサポートしていません。
STATUS_INVALID_BUFFER_SIZE 入力バッファー サイズが無効です。
STATUS_INVALID_PARAMETER 入力バッファー内の情報が無効です。
STATUS_NOT_FOUND 指定された選択基準に対してバンドが見つかりませんでした。
STATUS_ACCESS_DENIED 指定された認証キーが無効です。
STATUS_IO_DEVICE_ERROR 通信に失敗しました。 ストレージ デバイスがセキュリティ プロトコルと互換性がない可能性があります。

注釈

バンドの読み取りと書き込みのロックとロック解除は、システム バッファーに入力として含まれる BAND_SECURITY_INFO 構造で、この IOCTL で設定されます。

認証キーの変更は、バンドのロック状態には影響しません。 この要求で認証キーを変更するためにボリュームのマウントを解除する必要はありません。

バンドがロック解除されている場合(つまり、BAND_SECURITY_INFOReadlock メンバーまたは WriteLock メンバーが FALSE の場合)、SET_BAND_SECURITY_PARAMETERSの Flags メンバーにSETBANDSEC_AUTHKEY_CACHING_ENABLEDが設定されている場合、サイロ ドライバーは指定された認証キーキャッシュします。

特別なケースとして、この IOCTL を使用して、 BAND_SECURITY_INFOのロック メンバーを使用せずにバンドのロックが解除されたことをサイロ ドライバーに通知できます。 これを行うには、SET_BAND_SECURITY_PARAMETERSNewAuthKeyOffset メンバーを CurrentAuthKeyOffset に設定し、BandSecurityInfoOffset を 0 に設定します。 この場合、セキュリティの変更は行われませんが、SETBANDSEC_AUTHKEY_CACHING_ENABLEDが Flags で設定されている場合、CurrentAuthKeyOffset で指定されたキーはメモリにキャッシュされます。

この要求によってバンド テーブルに加えられた変更は、IOCTL 要求が完了する前に、デバイスにアトミックにコミットされます。 したがって、システムまたは電源障害が発生した場合に、すべてのプロパティが設定されているか、プロパティがまったく設定されていない状態でバンドが変更されていることが保証されます。

要件

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

こちらもご覧ください

BAND_SECURITY_INFO

IOCTL_EHSTOR_BANDMGMT_DELETE_BAND

SET_BAND_SECURITY_PARAMETERS