IOCTL_EHSTOR_BANDMGMT_DELETE_BAND IOCTL (ehstorbandmgmt.h)
儲存裝置上設定的訊號會隨著 IOCTL_EHSTOR_BANDMGMT_DELETE_BAND 要求一起刪除。 輸入參數中的 erase 選項可讓要求執行帶狀數據的密碼編譯清除。
主要程序代碼
輸入緩衝區
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) 。
輸出緩衝區
無。
輸出緩衝區長度
無。
狀態區塊
下列其中一個值可以在 [ 狀態 ] 字段中傳回。
狀態值 | Description |
---|---|
STATUS_SUCCESS | 已成功刪除帶狀。 |
STATUS_INVALID_DEVICE_REQUEST | 儲存裝置不支援訊號範圍管理。 |
STATUS_INVALID_BUFFER_SIZE | 輸入緩衝區大小不正確。 |
STATUS_INVALID_PARAMETER | 輸入緩衝區中的資訊無效。 |
STATUS_ACCESS_DENIED | 驗證金鑰無效,或已鎖定訊號範圍以供寫入。 |
STATUS_NOT_FOUND | 找不到所提供選取準則的帶狀。 |
STATUS_IO_DEVICE_ERROR | 通訊失敗。 存儲設備可能與安全性通訊協定不相容。 |
備註
需要驗證金鑰才能刪除訊號範圍,而不先執行清除。 若要要求帶清除,DELBAND_ERASE_BEFORE_DELETE旗標是在 DELETE_BAND_PARAMETERS 的 Flags 成員中設定。
刪除頻外之後,已刪除的帶狀範圍中包含的所有 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) |