SILO_DRIVER_CAPABILITIES structure (ehstorioctl.h)

This structure is used to specify the capabilities and support for IOCTL redirection of a storage silo driver. SILO_DRIVER_CAPABILITIES is included in the system buffer of an IOCTL_EHSTOR_DRIVER_REPORT_CAPABILITIES request.

Syntax

typedef struct _SILO_DRIVER_CAPABILITIES {
  ULONG StructSize;
  ULONG Capabilities;
  ULONG MaxLbaFilterCount;
  ULONG RedirectedIoctlListCount;
  ULONG RedirectedIoctlListOffset;
} SILO_DRIVER_CAPABILITIES, *PSILO_DRIVER_CAPABILITIES;

Members

StructSize

The size of this structure. This is set to sizeof(SILO_DRIVER_CAPABILITIES).

Capabilities

Capability flags for the silo driver. This is a bitwise OR combination of the following.

Value Meaning
CAP_ON_DEMAND_AUTHENTICATION
The silo driver supports on-demand authentication and unauthentication.
CAP_BANDING_SUPPORT
The silo driver supports banding of LBA ranges.

MaxLbaFilterCount

Maximum number of LBA filter entries the silo driver can provide in an IOCTL_EHSTOR_DRIVER_UPDATE_LBA_FILTER_TABLE request.

RedirectedIoctlListCount

The number of redirected IOCTLs in the list following this structure.

RedirectedIoctlListOffset

The offset of the redirected IOCTL list from the beginning of this structure. This will typically be sizeof(SILO_DRIVER_CAPABILITIES).

Remarks

To support receiving IOCTL_EHSTOR_DRIVER_PERFORM_AUTHZ from the enhanced storage class driver, a silo driver must set CAP_ON_DEMAND_AUTHENTICATION in Capabilities. Also, to support sending IOCTL_EHSTOR_DRIVER_UPDATE_LBA_FILTER_TABLE, a silo driver must set CAP_BANDING_SUPPORT in Capabilities.

To receive band management requests from the enhanced storage class driver, a silo driver must register a list of IOCTL codes it wants to receive. The redirected IOCTL list is an array of ULONG IOCTL codes with a length of RedirectedIoctlListCount. This list is included with the SILO_DRIVER_CAPABILITIES structure in the system buffer. The list is located in the system buffer following SILO_DRIVER_CAPABILITIES at the offset indicated by RedirectedIoctlListOffset.

Requirements

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

See also

IOCTL_EHSTOR_DRIVER_PERFORM_AUTHZ

IOCTL_EHSTOR_DRIVER_REPORT_CAPABILITIES

IOCTL_EHSTOR_DRIVER_UPDATE_LBA_FILTER_TABLE