Übersicht über NDIS-Zwischentreiber
NDIS-Treiberstapel müssen Miniporttreiber und Protokolltreiber enthalten und können auch Zwischentreiber enthalten. Da Zwischentreiber optional sind, müssen Sie die Beziehungen zwischen Miniporttreibern, Protokolltreibern und NDIS verstehen, bevor Sie die Zwischentreiber behandeln.
Miniport-Treiber steuern NIC-Geräte und kommunizieren mit dem unteren Rand der Protokolltreiber. Protokolltreiber implementieren Protokolle wie TCP/IP und befinden sich über den Miniporttreibern im Treiberstapel. NDIS bietet Dienste zur Vereinfachung der Entwicklung und Wartung von Miniporttreibern und Protokolltreibern.
Die Beziehungen zwischen Miniporttreibern, Protokolltreibern und NDIS sind in der folgenden Abbildung dargestellt.
NDIS-Miniporttreiber und Protokolltreiber sind über NDIS-Standardschnittstellen miteinander verbunden.
NDIS-Zwischentreiber enthalten eine Protokolltreiberschnittstelle am oberen Rand und eine Miniporttreiberschnittstelle am unteren Rand. Die Protokollschnittstelle des zwischengeschalteten Treibers ermöglicht das Laden über einem Treiber mit einer Miniporttreiberschnittstelle. Daher können zwischengeschaltete Treiber über Miniporttreibern oder anderen Zwischentreibern geladen werden. Die Miniportschnittstelle des zwischengeschalteten Treibers ermöglicht das Laden unterhalb eines Treibers mit einer Protokollschnittstelle am unteren Rand. Daher können Zwischentreiber unter Protokolltreibern oder unter anderen Zwischentreibern geladen werden.
Die Beziehungen zwischen Miniporttreibern, Protokolltreibern, Zwischentreibern und NDIS sind in der folgenden Abbildung dargestellt.
Die miniport-Schnittstelle des zwischengeschalteten Treibers wird als virtueller Miniport bezeichnet. Es ist virtuell, da es ein physisches Gerät nicht direkt steuert. Stattdessen basiert es auf einem zugrunde liegenden Miniporttreiber, um mit dem physischen Gerät zu kommunizieren.
Bindungen zwischen dem Zwischentreiber und anderen Treibern werden als externe Bindungen bezeichnet. NDIS steuert externe Bindungen. Der obere Rand des virtuellen Miniports wird an den nächsthöheren Treiber gebunden, der ein Protokolltreiber oder ein anderer Zwischentreiber sein kann. Der untere Rand des Zwischentreiberprotokolls wird an den nächstniedrigen Treiber gebunden, bei dem es sich um einen anderen Zwischentreiber oder einen zugrunde liegenden Miniporttreiber handelt.
Der untere Rand des virtuellen Miniports und der obere Rand des Zwischentreiberprotokolls erfordern keine externen Bindungen. Stattdessen bindet der Zwischentreiber seinen virtuellen Miniport und sein Protokoll intern. Diese internen Bindungen, die implementierungsspezifisch sind, werden nicht durch NDIS gesteuert.
Die folgende Abbildung veranschaulicht die internen Bindungen zwischen dem virtuellen Miniport und dem Zwischentreiberprotokoll.
Es gibt zwei Arten von NDIS-Zwischentreibern: Filtern von Zwischentreibern und MUX-Zwischentreibern. In den folgenden Themen werden diese Treibertypen beschrieben: