Condividi tramite


Esempio di oggetto Device per un HBA SCSI

La figura seguente illustra gli oggetti dispositivo creati per il sistema con un controller PCI IEEE 1394 e una scheda SCSI PCI con un CD-ROM e un dispositivo disco partizionabile collegato. Gli oggetti per i dispositivi collegati al controller IEEE 1394 vengono visualizzati e descritti in Esempio di oggetto dispositivo per un controller IEEE 1394.

Oggetti dispositivo creati per il sistema con un controller PCI IEEE 1394 e una scheda SCSI PCI con CD-ROM e un dispositivo disco partizionabile collegato.

Albero degli oggetti dispositivo per dispositivi CD-ROM e dischi in un HBA SCSI

A partire dalla parte inferiore della figura, di seguito vengono descritti ogni oggetto dispositivo e il driver associato:

  1. Il driver del bus di archiviazione crea l'fdO per il bus di archiviazione e lo collega al pdO del bus di archiviazione creato dal gestore PnP (non illustrato in questa figura). La struttura dell'albero degli oggetti del dispositivo al di sotto dell'fdO del bus di archiviazione dipende dal bus di archiviazione e dalla modalità di integrazione nel sistema. I driver di archiviazione al di sopra del livello di driver della porta non interagiscono con nessuno di questi oggetti inferiori.

    Questa figura mostra il fdO del bus di archiviazione creato dal driver del bus PCI per un sistema con un bus PCI.

  2. Il driver del bus PCI enumera e crea un PDO per ogni scheda di archiviazione nel bus. Il driver della porta di archiviazione corrispondente crea un fdO e lo collega al PDO per la relativa scheda.

    Questa figura mostra due PDO adattatori: uno per un controller IEEE 1394 (descritto in Device Object Example for an IEEE 1394 Controller) e un altro per un HBA SCSI. Il driver della porta SCSI e un driver miniport associato creano un fdO e lo collegano alla scheda SCSI PDO.

  3. Il driver della porta di archiviazione virtualizza i dispositivi di destinazione creando un PDO per ogni dispositivo di destinazione collegato alla relativa scheda. Questa figura mostra due oggetti PDO creati dai driver porta/miniport SCSI: uno per un'unità disco rigido e uno per un CD-ROM.

  4. Uno o più driver di filtro possono collegare un oggetto dispositivo filtro (FILTRO DO) a un PDO del dispositivo di destinazione esportato da un driver di porta di archiviazione. Un driver di filtro di questo tipo può intercettare e modificare le richieste inviate dal driver di classe al dispositivo di destinazione, ad esempio per risolvere i problemi specifici del dispositivo senza richiedere modifiche specifiche dell'hardware alla classe o ai driver di porta generici.

    Questa figura mostra un filtro DO collegato da un driver di filtro audio CD al PDO di CD-ROM.

  5. Un driver della classe di archiviazione crea un fdO e lo collega all'oggetto dispositivo inferiore successivo, ovvero un PDO del dispositivo di destinazione esportato da un driver di porta di archiviazione o da un filtro DO collegato allo stack da un driver di filtro intermedio. Il driver di classe invia tutte le richieste successive al dispositivo di archiviazione tramite l'oggetto dispositivo del driver inferiore.

    Questa figura mostra due oggetti FDO di questo tipo: uno che rappresenta un dispositivo CD-ROM e uno che rappresenta la partizione 0 di un'unità disco rigido. La partizione 0 rappresenta l'intero disco non elaborato ed esiste sempre se l'unità è partizionata o meno.

  6. Un driver di classe può anche fungere da driver di autobus, restituendo un elenco di PDO quando il gestore PnP esegue una query per i dispositivi figlio (IRP_MN_QUERY_DEVICE_RELATIONS con BusRelations). Ad esempio, un driver di un dispositivo multimediale partizionato, ad esempio un disco rimovibile, potrebbe restituire un elenco di PDO che rappresentano le relative partizioni. I driver di livello superiore collegano fdO a questi PDO.

    Questa figura mostra tre oggetti PDO, ognuno dei quali rappresenta una partizione del disco che può essere indirizzata come dispositivo di destinazione.

    Nel caso di un disco fisso, gestione partizioni viene collegato all'oggetto FDO che rappresenta la partizione 0 e gestisce le operazioni PnP per conto di tutte le partizioni. Le attività di Gestione partizioni sono trasparenti per il driver della classe del disco ed eventuali driver di filtro di livello superiore.

  7. Uno o più driver di filtro possono essere collegati sopra un driver di classe. A differenza di un driver di filtro di livello inferiore, un driver di filtro di livello superiore intercetta i runtime di integrazione inviati al driver di classe e può modificarli prima di inoltrarli all'oggetto dispositivo inferiore successivo. Il driver di filtro può intercettare qualsiasi richiesta di lettura/scrittura e trasformare i dati in base alle esigenze, nonché definire codici di controllo I/O aggiuntivi (IOCTL), ad esempio per consentire a un'applicazione utente di fornire password o altre informazioni correlate.

    Questa figura mostra un filtro DO creato da un driver di filtro di crittografia del disco e collegato al PDO del disco per la partizione 1.