共用方式為


IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION IOCTL (ehstorbandmgmt.h)

帶式受控存儲設備中頻帶的位置屬性會隨著 IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION 要求修改。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

Irp->AssociatedIrp.SystemBuffer 的緩衝區必須包含 SET_BAND_LOCATION_PARAMETERS 結構,後面接著 AUTH_KEYBAND_LOCATION_INFO 結構。

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

輸入緩衝區長度

Parameters.DeviceIoControl.InputBufferLength 指出緩衝區的大小,其大小至少必須是 sizeof (SET_BAND_LOCATION_PARAMETERS) + sizeof(AUTH_KEY) + sizeof(BAND_LOCATION_INFO)。

輸出緩衝區

沒有。

輸出緩衝區長度

沒有。

狀態區塊

下列其中一個值可以在 [狀態] 字段中傳回。

狀態值 描述
STATUS_SUCCESS 樂隊的位置屬性已變更。
STATUS_INVALID_DEVICE_REQUEST 存儲設備不支援頻帶管理。
STATUS_INVALID_BUFFER_SIZE 輸入緩衝區大小無效。
STATUS_INVALID_PARAMETER 輸入緩衝區中的資訊無效。
STATUS_NOT_FOUND 在提供的選取準則中找不到帶狀。
STATUS_ACCESS_DENIED 提供的驗證金鑰無效。
STATUS_IO_DEVICE_ERROR 通訊失敗。 存儲設備可能與安全性通訊協定不相容。

言論

作業不會修改重設大小之後仍保留在 LBA 中的數據。 此外,如果跨越磁碟區的 LBA 範圍在重設大小之後仍保留在頻帶內,則不需要在重設大小作業期間卸除磁碟區。

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

BandSize 成員 BAND_LOCATION_INFO 必須大於 0。 此 IOCTL 無法將頻帶大小調整為 0,導致頻帶刪除。 若要刪除頻帶,會使用 IOCTL_EHSTOR_BANDMGMT_DELETE_BAND 要求。

如果 BAND_LOCATION_INFO 指定全域頻帶的屬性,BandStart 必須設定為 0,且 BandSize 必須設定為 –1。

要求

要求 價值
最低支援的用戶端 從 Windows 8 開始提供
標頭 ehstorbandmgmt.h (include EhStorBandMgmt.h)

另請參閱

BAND_LOCATION_INFO

IOCTL_EHSTOR_BANDMGMT_DELETE_BAND

SET_BAND_LOCATION_PARAMETERS