共用方式為


IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS IOCTL (ehstorbandmgmt.h)

這個 IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS 要求會傳送來擷取頻帶管理下存儲設備的頻帶清單。 帶狀線資訊會在包含頻帶位置和安全性屬性的頻帶項目表格中傳回。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

Irp->AssociatedIrp.SystemBuffer 的緩衝區必須包含 ENUMERATE_BANDS_PARAMETERS 結構。

輸入緩衝區長度

Parameters.DeviceIoControl.InputBufferLength 表示緩衝區的大小,以位元組為單位,緩衝區的大小至少必須是 sizeof (ENUMERATE_BANDS_PARAMETERS)。

輸出緩衝區

Irp->AssociatedIrp.SystemBuffer 的緩衝區包含 BAND_TABLE 結構,後面接著 BandTableEntryCount 帶專案。

輸出緩衝區長度

BAND_TABLE 結構的長度,後面接著 BandTableEntryCount 帶專案。

狀態區塊

Information 位元段包含輸出緩衝區中傳回的位元組數目。 下列其中一個值可以在 [狀態] 字段中傳回。

狀態值 描述
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 (include EhStorBandMgmt.h)

另請參閱

BAND_TABLE

ENUMERATE_BANDS_PARAMETERS