IOCTL_EHSTOR_DRIVER_UPDATE_LBA_FILTER_TABLE IOCTL (ehstorioctl.h)

This IOCTL is used to inform the enhanced storage (EHSTOR) class driver of changes to the LBA filter table. Bands managed by the silo driver are composed of LBA ranges. The silo driver notifies the EHSTOR class driver of updates to the set of bands it controls with this IOCTL.

Major code

IRP_MJ_DEVICE_CONTROL

Input buffer

The input buffer at Irp->AssociatedIrp.SystemBuffer must contain a structure of type LBA_FILTER_TABLE. This structure contains the filter table and the total entries it contains. An array LBA_FILTER_TABLE_ENTRY structure follows LBA_FILTER_TABLE.

Input buffer length

The length of the buffer.

Output buffer

None.

Output buffer length

None.

Status block

One of the following values can be returned in the Status field.

Status Value Description
STATUS_SUCCESS The LBA filter table was successfully updated.
STATUS_INVALID_BUFFER_SIZE The input buffer length supplied is of incorrect size.
STATUS_INVALID_PARAMETER The LBA filter count or an LBA range is specified incorrectly.
STATUS_INSUFFICIENT_RESOURCES The IOCTL redirection list cannot be copied.
STATUS_NOT_SUPPORTED The sending device is not a silo device or banding is not supported.

Remarks

The LBA filters cannot overlap or be empty. The LBA filters do not have to be sorted in any way.

If an LBA range is being unlocked, an IOCTL_EHSTOR_DRIVER_UPDATE_LBA_FILTER_TABLE request should be sent after the LBA range is unlocked on the storage device. Also, if an LBA range is currently being locked, IOCTL_EHSTOR_DRIVER_UPDATE_LBA_FILTER_TABLE must be sent before the LBA range has been locked on the storage device.

Requirements

Requirement Value
Minimum supported client Available starting with Windows 8
Header ehstorioctl.h (include EhStorIoctl.h)

See also

LBA_FILTER_TABLE

LBA_FILTER_TABLE_ENTRY