Funcionalidad general del controlador de clase Storage

Para un controlador de puerto de almacenamiento, un controlador de clase de almacenamiento es un controlador de nivel superior con funcionalidad integrada específica del tipo de dispositivo. En general, cada controlador de clase de almacenamiento es responsable de lo siguiente:

  • Reclamación de cada dispositivo representado por un objeto de dispositivo físico (PDO) pasado a su rutina AddDevice por el administrador de PnP

  • Para cada PDO de este tipo, crear un objeto de dispositivo funcional (FDO) y adjuntarlo a la pila de dispositivos

  • Si el controlador controla un dispositivo con particiones, cree objetos de dispositivo físico (PPO) para representar cada partición y responder a las solicitudes de enumeración.

  • Interpretación de solicitudes de E/S del sistema (IRP)

  • Asignación de IRPs a solicitudes de interfaz de clase/puerto SCSI (SRBs con CDBs SCSI)

  • Establecimiento de valores de tiempo de espera para solicitudes

  • Limitar el tamaño de las transferencias de datos para adaptarse a los límites del HBA subyacente

  • Manejo de condiciones de error que aún no están manejadas por el controlador de puerto de almacenamiento, como el estado de verificación o los reinicios del bus.