共用方式為


IOCTL_EHSTOR_BANDMGMT_ERASE_BAND IOCTL (ehstorbandmgmt.h)

IOCTL_EHSTOR_BANDMGMT_ERASE_BAND要求以密碼編譯方式清除並重設訊號範圍的驗證密鑰。 其餘的訊號組態會保持未修改。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

Irp-AssociatedIrp.SystemBuffer> 的輸入緩衝區必須包含ERASE_BAND_PARAMETERS,而且可能是AUTH_KEY結構。

如果 ERASE_BAND_PARAMETERSNewAuthKeyOffset 成員設定為 EHSTOR_BANDMGR_NO_KEY,系統緩衝區中的輸入數據不需要包含AUTH_KEY結構。

輸入緩衝區長度

Parameters.DeviceIoControl.InputBufferLength 表示緩衝區的大小,以位元組為單位,至少必須是 sizeof(ERASE_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 通訊失敗。 儲存裝置可能與安全性通訊協定不相容。

備註

目前清除驗證金鑰未在 IOCTL_EHSTOR_BANDMGMT_ERASE_BAND 要求中提供。 先前已設定儲存裝置的清除驗證金鑰。

Windows 中未提供任何方法來變更儲存裝置的清除驗證密鑰。 如果系統緩衝區中提供正確的參數做為輸入,此要求應該會成功。 如果清除驗證金鑰在 Windows 外部變更,例如在不同的作業系統的雙開機環境中,此要求可能會失敗。

當使用 IOCTL_EHSTOR_BANDMGMT_ERASE_BAND清除帶狀區時,唯一保留的先前屬性是頻帶開始和帶狀區大小。 會移除先前的媒體加密金鑰,併產生新的金鑰。 鎖定設定為讀取和寫入 PERSISTANT_UNLOCK 。 先前設定的安全性元數據已清除。 除非指出使用預設金鑰,否則會設定 ERASE_BAND_PARAMETERS 中指定的新驗證密鑰。

若要防止其他應用程式使用預設密鑰來控制頻外和清除,應該將新的驗證密鑰包含在 IOCTL_EHSTOR_BANDMGMT_ERASE_BAND 要求中。

此要求對頻表所做的變更會在 IOCTL 要求完成之前,以不可部分完成的方式認可至裝置。 因此,保證在系統或電源故障發生時,會以其所有屬性集或完全未設定任何屬性來修改訊號。

規格需求

需求
最低支援的用戶端 Windows 8
標頭 ehstorbandmgmt.h (包括 EhStorBandMgmt.h)

另請參閱

ERASE_BAND_PARAMETERS

IOCTL_EHSTOR_BANDMGMT_DELETE_BAND

IOCTL_EHSTOR_BANDMGMT_ERASE_ALL_BANDS