IOCTL_EHSTOR_DRIVER_REPORT_CAPABILITIES control code
This IOCTL is used to inform the enhanced storage (EHSTOR) class driver of the silo driver's capabilities. The silo driver sends this IOCTL with a SILO_DRIVER_CAPABILITES structure that indicates whether authentication and banding are supported along with a list of EHSTOR IOCTLs it will handle.
The input buffer at Irp->AssociatedIrp.SystemBuffer must contain a structure of type SILO_DRIVER_CAPABILITES. This structure is followed immediately by a list of which redirected IOCTLs the silo driver will handle.
One of the following values can be returned in the Status field.
|STATUS_SUCCESS||The silo driver's capabilities were registered with the EHSTOR class driver.|
|STATUS_INVALID_BUFFER_SIZE||The input buffer length supplied is of incorrect size.|
|STATUS_INVALID_PARAMETER||A capability parameter is incorrect.|
|STATUS_INSUFFICIENT_RESOURCES||The IOCTL redirection list cannot be copied.|
|STATUS_NOT_SUPPORTED||The sending device is not a silo device.|
This IOCTL is used by the Trusted Computing Group (TCG) standard authentication silo driver in Windows 8. On device initialization, the TCG silo driver will notify the EHSTOR class driver (EhStorClass.sys) of its capabilities by sending a IOCTL_EHSTOR_DRIVER_REPORT_CAPABILITIES request with a SILO_DRIVER_CAPABILITIES structure.
Silo device objects exist outside the storage device stack. Any EHSTOR request intended for a silo driver must be explicitly forwarded to it. This is the case for all band management IOCTLs. Band management requests are made on a file object representing a physical drive. These requests are sent down the storage device stack. If the silo driver has registered support for the IOCTL, the EHSTOR class driver will redirect the request to the silo driver.
IOCTL requests supported by a silo driver are included in an array following SILO_DRIVER_CAPABILITIES in the system buffer. The size of the information in the system buffer should be specified as sizeof(SILO_DRIVER_CAPABILITIES) + (sizeof(ULONG) * RedirectedIoctlListCount).
A vendor supplied non-TCG authentication silo driver must notify the EHSTOR class driver of its capabilities using this IOCTL.
Available starting with Windows 8