Condividi tramite


The IEEE 1394 Driver Stack

Il diagramma seguente illustra lo stack di driver IEEE 1394 con il nuovo driver del bus 1394 e i driver client supportati da Microsoft 1394.

diagramma che illustra lo stack di driver ieee 1394.

Un driver client per un dispositivo che si connette al driver del bus IEEE 1394 si trova sopra lo stack di driver IEEE 1394. Il driver del bus fornisce un'interfaccia indipendente dall'hardware al bus IEEE 1394. Il driver del dispositivo comunica con il dispositivo inviando indirizzi IP, elaborati dal driver del bus IEEE 1394. Prima di Windows 7, il driver del bus era una combinazione di un driver di porta (1394bus.sys) e un driver miniport primario per il controller host della scheda madre (ochi1394.sys). Nelle versioni precedenti di Windows 7 e versioni successive i driver del bus di porta/miniport legacy vengono sostituiti da 1394ohci.sys, un driver bus IEEE 1394 monolitico implementato usando il framework del driver in modalità kernel (KMDF). Il driver del bus 1394ohci.sys è completamente compatibile con le versioni precedenti con i driver del bus 1394 legacy. Per altre informazioni su alcune differenze note nel comportamento tra il nuovo driver del bus e i driver legacy del bus 1394, vedere IEEE 1394 Bus Driver in Windows 7.

La figura seguente illustra la relazione tra i driver legacy e i nuovi driver del bus 1394.

Diagramma che mostra la relazione tra i driver legacy e i nuovi driver del bus 1394.

Per eseguire comandi ai dispositivi connessi al bus, i driver emettono l'IRP_MJ_DEVICE_CONTROL IRP, con il codice di controllo IOCTL_1394_CLASS. Il driver inserisce i parametri in un blocco di richiesta I/O IEEE 1394 e lo passa nel membro Parameters.Others.Argument1dell'IRP. Il membro FunctionNumber dell'IRB determina il tipo di operazione e il membro u descrive l'operazione. Il driver del bus usa il IOCTL_1394_CLASS IRP per presentare un'interfaccia sia al bus che al controller host.

La struttura IRB contiene parametri che si applicano a ogni richiesta del bus e parametri specifici della richiesta. Il membro u dell'IRB contiene i parametri specifici della richiesta, in un'unione di strutture di dati, una per tipo di richiesta.

Durante la normale operazione, i driver ricevono richieste di I/O normali (ad esempio IRP_MJ_READ), convertirle nell'operazione IEEE 1394 appropriate e inviare tale operazione al dispositivo tramite IOCTL_1394_CLASS.

Driver del bus IEEE 1394 in Windows 7