Condividi tramite


Gestione delle richieste alle periferiche di archiviazione

Per tutte le richieste che richiedono all'driver della porta di archiviazione di eseguire una richiesta su un bus sottostante, il driver di classe deve configurare un'IRP con un blocco di richieste SCSI contenente un blocco di descrittore di comando SCSI (CDB). Di conseguenza, la maggior parte dei driver di classe di archiviazione dispone di una o più routine BuildRequest interne per la compilazione di SRB. Per altre informazioni su tali routine, vedere Routine BuildRequest del driver di classe di archiviazione.

I driver della classe di archiviazione passano anche IRP_MJ_SCSI richieste al driver della porta di archiviazione sottostante. Tale richiesta può derivare da un driver di filtro di archiviazione.

Per le richieste di IOCTL_SCSI_PASS_THROUGH , descritte in Gestione delle richieste di Pass-Through SCSI, il driver di classe è responsabile dell'impostazione del codice MinorFunction su IRP_MJ_DEVICE_CONTROL nella posizione dello stack I/O del driver di porta dell'IRP prima di passare la richiesta di IRP_MJ_DEVICE_CONTROL al driver di porta con IoCallDriver.

Ogni driver della classe di archiviazione è responsabile della suddivisione delle richieste di trasferimento (IRP_MJ_READ e/o IRP_MJ_WRITE) che superano le funzionalità dell'HBA sottostante. Di conseguenza, la maggior parte dei driver di classe chiama anche una routine SplitTransferRequest interna, descritta in SplitTransferRequest Routine della classe di archiviazione o implementa le stesse funzionalità nelle routine di invio per le richieste di lettura e scrittura.

Per altre informazioni sulla gestione delle richieste alle periferiche di archiviazione, vedere gli argomenti seguenti:

Gestione delle richieste di Pass-Through SCSI

Gestione delle richieste PnP alle periferiche di archiviazione

Gestione delle richieste di alimentazione alle periferiche di archiviazione

Accodamento delle richieste di archiviazione