Condividi tramite


Introduzione ai driver del protocollo NDIS

Un driver del protocollo NDIS esporta un set di funzioni ProtocolXxx al suo bordo inferiore. Tale driver di protocollo comunica con NDIS per inviare e ricevere dati di rete. Il driver del protocollo viene associato a un driver miniport sottostante o a un driver intermedio che esporta un'interfaccia MiniportXxx al suo bordo superiore.

Nota Il bordo superiore del driver miniport di un driver intermedio (miniport virtuale) non gestisce i dispositivi fisici. I driver miniport sottostanti gestiscono i dispositivi fisici.

I driver di protocollo usano sempre funzioni fornite da NDIS per comunicare con i driver NDIS sottostanti per inviare e ricevere dati di rete. Ad esempio, un driver di protocollo con un bordo inferiore senza connessione (che comunica con driver sottostanti per supporti senza connessione, ad esempio Ethernet) deve chiamare NdisSendNetBufferLists per inviare dati di rete a un driver NDIS sottostante. Il driver del protocollo può chiamare NdisOidRequest per eseguire query o impostare OID che supportano i driver senza connessione sottostanti. Un driver di protocollo con un bordo inferiore orientato alla connessione (che comunica con driver sottostanti per supporti orientati alla connessione, ad esempio ISDN) deve chiamare NdisCoSendNetBufferLists per inviare dati di rete a un driver NDIS di livello inferiore. Può anche chiamare NdisCoOidRequest per eseguire query o impostare OID supportati dai driver orientati alla connessione sottostante.

NDIS fornisce anche un set di funzioni NdisXxx che nascondono i dettagli del sistema operativo sottostante. Ad esempio, un driver del protocollo può chiamare NdisInitializeEvent per creare un evento per scopi di sincronizzazione e NdisInitializeListHead per creare un elenco collegato. I driver di protocollo che usano le versioni NDIS di tali funzioni sono più portatili nei sistemi operativi Microsoft. Tuttavia, i driver del protocollo possono anche chiamare routine di supporto in modalità kernel, ad esempio IoCreateDevice. Per altre informazioni, vedere Riepilogo delle routine di supporto di Kernel-Mode.

Gli sviluppatori di driver di protocollo devono usare le stesse considerazioni di programmazione applicate ad altri driver NDIS.