IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS IOCTL (ehstorbandmgmt.h)
系統會傳送此 IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS 要求,以擷取頻外管理下儲存裝置的訊號範圍清單。 帶狀資訊會傳回包含訊號範圍位置和安全性屬性的帶狀項目數據表。
主要程序代碼
輸入緩衝區
Irp-AssociatedIrp.SystemBuffer> 上的緩衝區必須包含ENUMERATE_BANDS_PARAMETERS結構。
輸入緩衝區長度
Parameters.DeviceIoControl.InputBufferLength 指出緩衝區的大小,以位元組為單位,緩衝區的大小必須至少為 (ENUMERATE_BANDS_PARAMETERS) 。
輸出緩衝區
Irp-AssociatedIrp.SystemBuffer> 的緩衝區包含BAND_TABLE結構,後面接著 BandTableEntryCount 帶專案。
輸出緩衝區長度
BAND_TABLE 結構的長度,後面接著 BandTableEntryCount 帶專案。
狀態區塊
[資訊] 欄位包含輸出緩衝區中傳回的位元組數目。 下列其中一個值可以在 [ 狀態 ] 字段中傳回。
狀態值 | Description |
---|---|
STATUS_SUCCESS | 記憶體裝置上的安全性功能已停用。 |
STATUS_INVALID_DEVICE_REQUEST | 儲存裝置不支援訊號範圍管理。 |
STATUS_INVALID_BUFFER_SIZE | 輸入緩衝區大小無效。 |
STATUS_INVALID_PARAMETER | 輸入緩衝區中的資訊無效。 |
STATUS_NOT_FOUND | 未針對提供的列舉參數設定任何訊號範圍。 |
STATUS_BUFFER_OVERFLOW | 未提供緩衝區或其大小設定為零。 必要大小會在 [ 資訊 ] 欄位中傳回。 |
STATUS_IO_DEVICE_ERROR | 通訊失敗。 存儲設備可能與安全性通訊協定不相容。 |
STATUS_BUFFER_TOO_SMALL | 提供的輸出緩衝區不夠大,無法保存傳回的輸出數據。 |
備註
驅動程式或應用程式可以將要求的輸出緩衝區設定為 NULL,並將輸出大小設定為 0,以查詢所需的輸出緩衝區大小。 IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS要求會傳回 IoStatus 區塊的 [狀態] 字段設定為 [STATUS_BUFFER_OVERFLOW],[資訊] 字段將會包含所需的緩衝區大小。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始提供。 |
標頭 | ehstorbandmgmt.h (包含 EhStorBandMgmt.h) |
另請參閱
ENUMERATE_BANDS_PARAMETERS