Condividi tramite


Driver miniport

Un driver miniport NDIS ha due funzioni di base:

  • Gestione di una scheda di interfaccia di rete (NIC), inclusa l'invio e la ricezione di dati tramite la scheda di interfaccia di rete.

  • Interfaccia con driver di livello superiore, ad esempio driver di filtro, driver intermedi e driver di protocollo.

Un driver miniport comunica con le schede di interfaccia di rete e con driver di livello superiore tramite la libreria NDIS. La libreria NDIS esporta un set completo di funzioni (NdisMXxx e altre funzioni NdisXxx ) che incapsulano tutte le funzioni del sistema operativo che un driver miniport deve chiamare. Il driver miniport, a sua volta, deve esportare un set di punti di ingresso (funzioni MiniportXxx ) che NDIS chiama per i propri scopi, o per conto di driver di livello superiore, per accedere al driver miniport.

Nota

Per altre informazioni sullo stack di driver NDIS e un diagramma che mostra la relazione tra tutti e quattro i tipi di driver NDIS, vedere Stack di driver NDIS.

Le operazioni di invio e ricezione seguenti illustrano l'interazione dei driver miniport con NDIS e con driver di livello superiore:

  • Quando un driver di trasporto ha un pacchetto da trasmettere, chiama una funzione NdisXxx esportata dalla libreria NDIS. NDIS passa quindi il pacchetto al driver miniport chiamando la funzione MiniportXxx appropriata esportata dal driver miniport. Il driver miniport inoltra quindi il pacchetto alla scheda di interfaccia di rete per la trasmissione chiamando le funzioni NdisXxx appropriate.

  • Quando una scheda di interfaccia di rete riceve un pacchetto indirizzato a se stesso, può registrare un interrupt hardware gestito da NDIS o dal driver miniport della scheda di interfaccia di rete. NDIS notifica al driver miniport della scheda di interfaccia di rete chiamando la funzione MiniportXxx appropriata. Il driver miniport configura il trasferimento dei dati dalla scheda di interfaccia di rete e quindi indica la presenza del pacchetto ricevuto per associare driver di livello superiore chiamando la funzione NdisXxx appropriata.

Driver miniport senza connessione e orientati alla connessione

NDIS supporta i driver miniport per ambienti senza connessione e ambienti orientati alla connessione.

I driver miniport senza connessione controllano le schede di interfaccia di rete per i supporti di rete senza connessione, ad esempio Ethernet. I driver miniport senza connessione sono ulteriormente suddivisi in driver deserializzati e serializzati:

Nota Tutti i driver NDIS 6.0 e versioni successive vengono deserializzati.

  • I driver deserializzati serializzano l'operazione delle proprie funzioni MiniportXxx e che accodano internamente tutti i pacchetti di invio in ingresso. Ciò comporta prestazioni full duplex significativamente migliori, a condizione che le sezioni critiche del driver (codice che può essere eseguito solo un singolo thread alla volta) siano ridotte.

  • I driver serializzati si basano su NDIS per serializzare le chiamate alle funzioni MiniportXxx e per gestire le code di invio.

I driver miniport orientati alla connessione controllano le schede di interfaccia di rete per i supporti di rete orientati alla connessione, ad esempio ISDN. I driver miniport orientati alla connessione vengono sempre deserializzati: serializzano sempre il funzionamento delle proprie funzioni MiniportXxx e accodano internamente tutti i pacchetti di invio in ingresso.

Un driver miniport NDIS può avere un bordo inferiore non NDIS (vedere la figura seguente).

Diagramma che mostra un driver miniport NDIS con un bordo inferiore non NDIS.

Attraverso il bordo inferiore non NDIS, un driver miniport usa l'interfaccia di classe per un bus, ad esempio il bus seriale universale (USB) per controllare un dispositivo sul bus. Il driver miniport comunica con il dispositivo inviando pacchetti di richiesta di I/O (IRP) al bus o direttamente ai dispositivi remoti collegati al bus. Al suo bordo superiore, il driver miniport espone un'interfaccia driver miniport NDIS standard, che consente al driver miniport di comunicare con driver NDIS overlying.

Driver miniport NDIS

Informazioni di riferimento sul driver miniport NDIS