Entwurfskonzepte für fortgeschrittene Treiber
Dieser Abschnitt enthält einige grundlegende Informationen, die Ihnen beim Schreiben eines NDIS-Zwischentreibers helfen. Um einen NDIS-Zwischentreiber zu schreiben, müssen Sie die Vorgänge und Funktionen des NDIS-Miniporttreibers und des Protokolltreibers verstehen.
Das MUX-Zwischentreiberbeispiel im Microsoft Windows Driver Kit (WDK) bietet ein grundlegendes Beispiel für einen n-to-one MUX-Zwischentreiber, den Sie an Ihre spezifischen Anforderungen anpassen können.
Der virtuelle Miniport eines NDIS-Zwischentreibers muss deserialisiert werden. Deserialisierte Treiber serialisieren den Betrieb ihrer eigenen MiniportXxx-Funktionen und warteschlangen intern alle eingehenden Senden von Netzwerkdaten, anstatt sich für diese Vorgänge auf NDIS zu verlassen. Diese Aktion führt zu einer deutlich besseren Vollduplexleistung, wenn die kritischen Abschnitte des Treibers (Code, der jeweils nur von einem Thread ausgeführt werden kann) klein gehalten werden. Weitere Informationen zu deserialisierten Treibern finden Sie unter Deserialisierte NDIS-Miniporttreiber.
Ein NDIS-Zwischentreiber kann nur die verbindungslose Kommunikation an seinem virtuellen Miniport unterstützen. An seiner Protokollschnittstelle kann ein NDIS-Zwischentreiber jedoch entweder die verbindungslose Kommunikation oder die verbindungsorientierte Kommunikation unterstützen. Weitere Informationen zur verbindungsorientierten Kommunikation finden Sie unter Verbindungsorientierte NDIS.
Ein Zwischentreiber befindet sich in der Regel über einem oder mehreren NDIS-Miniporttreibern und unterhalb eines Transporttreibers. Zwischentreiber können auch mit anderen Zwischentreibern überschichtet werden.
Die folgenden Themen enthalten zusätzliche Informationen zum Schreiben von NDIS-Zwischentreibern:
DriverEntry-Funktion für Zwischentreiber
Dynamische Bindung in einem Zwischentreiber
Abfragen und Festlegen von Vorgängen für Zwischentreiber
Netzwerk-Datenverwaltung für Zwischentreiber
Empfangen von Daten in einem Zwischentreiber
Übertragen von Netzwerkdaten über einen Zwischentreiber
Behandeln von PnP-Ereignissen und Energieverwaltungsereignissen in einem Mittleren Treiber