ストレージ デバイスで構成されているバンドは、IOCTL_EHSTOR_BANDMGMT_DELETE_BAND 要求と共に削除されます。 入力パラメーターの消去オプションを使用すると、要求でバンド データの暗号化消去を実行できます。
メジャー コード
入力バッファー
Irp->AssociatedIrp.SystemBuffer の入力バッファーには、DELETE_BAND_PARAMETERS と場合によっては AUTH_KEY 構造体が含まれている必要があります。
DELETE_BAND_PARAMETERS の AuthKeyOffset メンバーが EHSTOR_BANDMGR_NO_KEYに設定されている場合、システム バッファー内の入力データに AUTH_KEY 構造体を含める必要はありません。
入力バッファーの長さ
Parameters.DeviceIoControl.InputBufferLength は、バッファーのサイズ (バイト単位) を示します。これは、少なくとも sizeof (DELETE_BAND_PARAMETERS) + sizeof(AUTH_KEY) である必要があります。
出力バッファー
何一つ。
出力バッファーの長さ
何一つ。
状態ブロック
Status フィールドには、次のいずれかの値が返されます。
状態の値 | 形容 |
---|---|
STATUS_SUCCESS | バンドが正常に削除されました。 |
STATUS_INVALID_DEVICE_REQUEST | ストレージ デバイスは、バンド管理をサポートしていません。 |
STATUS_INVALID_BUFFER_SIZE | 入力バッファーのサイズが正しくありません。 |
STATUS_INVALID_PARAMETER | 入力バッファー内の情報が無効です。 |
STATUS_ACCESS_DENIED | 認証キーが無効であるか、書き込み用にバンドがロックされています。 |
STATUS_NOT_FOUND | 指定された選択基準に対してバンドが見つかりませんでした。 |
STATUS_IO_DEVICE_ERROR | 通信に失敗しました。 ストレージ デバイスがセキュリティ プロトコルと互換性がない可能性があります。 |
備考
最初に消去を実行せずにバンドを削除するには、認証キーが必要です。 バンドの消去を要求するには、DELETE_BAND_PARAMETERSの Flags メンバーに DELBAND_ERASE_BEFORE_DELETE フラグを設定します。
バンドの削除後、削除されたバンドに含まれるすべての LBA がグローバル バンドに返されます。 グローバル バンドのロック条件が、グローバル バンドに返される LBA に適用されるようになりました。 グローバル バンドに返される LBA は、グローバル バンドのメディア キーに関連付けられるようになり、それらの LBA 内の暗号化されたデータは回復不能になりました。
削除されたバンドはサイロ ドライバーのバンド テーブルに残りますが、未構成になります。 認証キーは既定値にリセットされ、バンドとキーのメタデータにはゼロが含まれており、ロック状態は PERSISTENT_UNLOCKに戻ります。 このバンドは、IOCTL_EHSTOR_BANDMGMT_CREATE_BAND 要求を使用して再構成できるようになりました。
暗号化消去なしでバンドを削除すると、そのバンドの暗号化キーは削除されません。 後で、削除されたバンドと同じ構成とバンド識別子を持つバンドを作成できます。 この場合、以前にバンドに格納されていたデータは、前のバンドの削除以降は上書きされません。 このような状況を回避するには、DELETE_BAND_PARAMETERSで DELBAND_ERASE_BEFORE_DELETE フラグが設定されているバンドを削除します。
IOCTL_EHSTOR_BANDMGMT_DELETE_BAND はグローバル バンドを削除しません。 これを要求すると、STATUS_INVALID_PARAMETERが返されます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 8 以降で使用できます。 |
ヘッダー | ehstorbandmgmt.h (EhStorBandMgmt.h を含む) |