Compartir a través de


Rutinas de controlador SCSI miniport obligatorias y opcionales

Las rutinas HwScsiXxx de un controlador de miniporte pueden tener cualquier nombre elegido por el escritor de controladores. DriverEntry es un nombre obligatorio.

Cada controlador de miniporte SCSI debe tener al menos las siguientes rutinas definidas por el sistema:

Rutina requerida Descripción
DriverEntry Inicializa el controlador de minipuerto.
HwScsiFindAdapter Determina cómo (o si) los adaptadores de bus host admitidos por el controlador (HBA) están configurados en la máquina.
HwScsiInitialize Inicializa los HBA admitidos.
HwScsiStartIo Inicia las operaciones en el HBA de la miniporta para las solicitudes entrantes.
HwScsiResetBus Controla las solicitudes de restablecimiento de bus

Según cada HBA y el diseñador de controladores, los controladores de miniporte SCSI también tienen algunas o todas las siguientes rutinas definidas por el sistema:

Rutina Descripción
HwScsiInterrupt Controla las interrupciones generadas por HBA, que es opcional si y solo si el HBA no genera interrupciones para que el controlador de miniporte administre todas las operaciones de E/S en su HBA mediante sondeos. Sin embargo, el uso del sondeo exclusivamente tiene un efecto adverso en el rendimiento de un controlador de minipuerto y en el rendimiento de E/S de su HBA. Este controlador de minipuerto también debe tener una rutina HwScsiTimer .
HwScsiDisableInterruptsCallback y HwScsiEnableInterruptsCallback Controle el procesamiento de E/S diferido si las operaciones de E/S controladas por interrupciones tardan mucho tiempo.
HwScsiTimer Tiempos de operaciones que requieren retrasos largos en el HBA o para cualquier otro propósito determinado por el diseñador de controladores. Un controlador de miniport debe tener una rutina HwScsiTimer si no tiene ninguna rutina HwScsiInterrupt para que pueda usar la rutina HwScsiTimer para un sondeo eficaz de su HBA.
HwScsiDmaStarted Necesario si el HBA usa un controlador DMA del sistema, para configurar una transferencia HBA después de programar el controlador DMA del sistema.
HwScsiAdapterState Opcional si y solo si el HBA no tiene ningún controlador bios o x86-real-mode o nunca se ejecutará en sistemas de Microsoft Windows x86 solo.
HwScsiAdapterControl Necesario si el controlador de minipuerto admite Plug and Play.
HwScsiWmiExecuteMethod Ejecuta un método asociado a un bloque de datos. Esta rutina es opcional.
HwScsiWmiFunctionControl Habilita o deshabilita la notificación de eventos, y también habilita o deshabilita la recopilación de datos para bloques de datos que el controlador de miniporte designado como costoso recopilar. Opcional.
HwScsiWmiQueryDataBlock Obtiene una única instancia o todas las instancias de un bloque de datos. Necesario.
HwScsiWmiQueryReginfo Obtiene información sobre los bloques de datos y eventos que se van a registrar en nombre del controlador de miniporte mediante el controlador de puerto SCSI. Necesario.
HwScsiWmiSetDataBlock Cambia todos los elementos de datos de una sola instancia de un bloque de datos. Opcional.
HwScsiWmiSetDataItem Cambia un único elemento de datos en una instancia de un bloque de datos. Opcional.

Cada una de las rutinas anteriores del controlador de miniporte, excepto DriverEntry, tiene un nombre elegido para describir su funcionalidad. Excepto driverEntry, que es un nombre obligatorio para cada punto de entrada inicial del controlador de miniporte, los nombres de las rutinas de controlador de miniportar pueden ser cualquier cosa que elija el escritor de controladores.

El control de errores en los controladores de miniporte SCSI describe los requisitos de control de errores para los controladores de miniporte SCSI.