Interfaz del puerto SCSI con controladores de minipuerto de puerto SCSI
La comunicación entre el controlador de puerto SCSI y los controladores de miniporte de puerto SCSI tiene lugar mediante bloques de solicitud SCSI (SRB) y rutinas de devolución de llamada del controlador de miniporte. Para obtener una explicación detallada de las rutinas de devolución de llamada del controlador de miniporte de puerto SCSI, consulte Controladores de miniporte SCSI.
Para obtener información general y definición de las funciones SRB individuales, las marcas de SRB y los valores de estado de SRB, consulte SCSI_REQUEST_BLOCK.
Para obtener discusiones sobre cómo los controladores de minipuerto deben responder a cada función SRB individual, consulte Rutina HwScsiStartIo del controlador miniport SCSI.
El puerto SCSI reenvía los controladores SRB a los controladores de minipuerto de puerto SCSI de forma sincrónica, excepto cuando el adaptador admite la puesta en cola etiquetada. Los adaptadores de bus de host que admiten la cola etiquetada pueden poner en cola solicitudes internamente y procesarlas en el orden indicado por las etiquetas que el puerto SCSI asigna a cada solicitud. La estructura de SCSI_REQUEST_BLOCK (SRB) contiene dos miembros que usa el controlador de puerto SCSI para especificar cómo se deben ordenar los SRB en la cola interna del adaptador de host: QueuedTag y QueueAction. El puerto SCSI asigna un recuento o un valor de "etiqueta" al miembro QueuedTag de cada SRB que indica el orden en el que el adaptador debe procesar los paquetes. Los valores de etiqueta también permiten que el puerto SCSI realice un seguimiento de los SRB que se han completado correctamente y de los que han agotado el tiempo de espera.
Al miembro QueueAction se le asigna uno de los valores siguientes:
SRB_SIMPLE_TAG_REQUEST
SRB_HEAD_OF_QUEUE_TAG_REQUEST
SRB_ORDERED_QUEUE_TAG_REQUEST
Para obtener una explicación de estos valores, consulte la especificación SCSI-2.