Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema werden die Arten von Netzwerkschnittstellenkarten (Network Interface Cards, NICs) beschrieben, die ein NDIS-Miniporttreiber verwalten kann, und wie sich die verschiedenen Arten von NICs auf die Art und Weise auswirken, wie ein Treiber Netzwerkdaten überträgt.
Melden des mittleren Typs einer NIC an NDIS
Um einen mittleren Typ für eine NIC zu melden, übergibt ein Miniporttreiber einen Zeiger an eine NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES Struktur im MiniportAttributes-Parameter der NdisMSetMiniportAttributes-Funktion . Ein Miniport-Treiber ruft während der Initialisierung seine MiniportInitializeEx-Funktion auf, um NdisMSetMiniportAttributes zu verwenden. Miniport-Treiber sollten die MiniportAttributes-Attribute nach dem Festlegen der Registrierungsattribute in der NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES Struktur und vor dem Festlegen anderer Attribute festlegen. Das Festlegen der MiniportAttributes-Attribute ist obligatorisch. Der Treiber legt das MediaType-Element der NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES-Struktur auf den entsprechenden Medientyp fest, wenn die MiniportAttributes-Attribute festgelegt werden.
Wenn ein übergeordneter NDIS-Protokolltreiber NdisOpenAdapterEx aufruft, um eine Bindung an einen angegebenen Miniportadapter durchzuführen, stellt er eine Liste der Medientypen bereit, auf denen er ausgeführt werden kann. NDIS verwendet die Informationen vom Miniporttreiber und vom Protokolltreiber, um eine Bindung einzurichten. Diese Bindung stellt den Pfad zum Übertragen von Netzwerkdaten nach oben und unten im Treiberstapel bereit.
Physical NICs
Die Schritte, die ein Miniporttreiber zum Initialisieren eines Miniportadapters abgeschlossen hat, und zum Senden und Empfangen von Netzwerkdaten können von den Features eines physischen Geräts wie folgt abhängen.
NDIS-WDM NICs
Bei NDIS-WDM NICs, wie z. B. USB-basierten NICs, ist es für NDIS nicht relevant, wie der Miniporttreiber den Speicher mit DMA verwaltet, und diese Verwaltungsmethode ist für NDIS nicht sichtbar.
Busmaster-DMA-Netzwerkkarten
Diese NICs können direkt über einen DMA-Controller auf dem Board auf Hostspeicher zugreifen, der die Übertragung von Daten zwischen dem Netzwerk und dem Hostspeicher verwaltet, ohne die Host-CPU zu verwenden.
Zum Senden konfiguriert der Miniporttreiber die NIC, um die ausgehenden Puffer zuzuordnen. Der Miniporttreiber bewirkt dann, dass das Gerät seine Übertragung aus diesem Speicher startet. Der NIC-DMA-Controller überträgt die Daten aus dem gemeinsam genutzten Systemspeicher in das Netzwerk und unterbricht die CPU, wenn das Senden abgeschlossen ist. Zum Empfangen überträgt der DMA-Controller eingehende Daten an den Hostspeicher, bevor der Host mit einem Interrupt benachrichtigt wird.
Eine Busmaster-DMA-NIC verfügt in der Regel über einen Onboard-Ringpuffer, den der Miniporttreiber einem Satz von Puffern im Systemspeicher zuordnet. In der Regel kann die NIC so programmiert werden, dass mehrere Pakete effizient verarbeitet werden. Ein Miniporttreiber, der eine solche NIC verwaltet, unterstützt in der Regel Multipacket-Sende- und -empfangen, da die NIC mehrere Pakete effizient verarbeiten und dadurch den E/A-Durchsatz verbessern kann.
Nicht-Busmaster-DMA-NICs
Derzeit umfassen nichtbusmaster DMA NICs Folgendes:
System-DMA-NICs
Ein Miniporttreiber, der eine solche NIC verwaltet, verwendet den DMA-Systemcontroller, um die Übertragung von Paketdaten an und vom Netzwerk zu verwalten. Die Übertragung der Daten erfordert die Zusammenarbeit der Host-CPU.
Virtuelle NICs und Miniports
In einem virtuellen Computer können NDIS-Miniporttreiber entweder nur Softwareressourcen als virtueller Miniport verwalten oder eine virtuelle NIC verwalten, die Hardwareressourcen darstellt. In der folgenden Tabelle werden die Unterschiede zwischen einem virtuellen Miniport und einer virtuellen NIC erläutert.
| Attribute | Virtual miniport | Virtual NIC |
|---|---|---|
| Definition | Ein NDIS-Miniporttreiber, der einem softwareseitig erfassten PnP-Gerät zugeordnet ist. | Eine vom Hostbetriebssystem-Hypervisor verwaltete NIC. Der Hypervisor macht den virtuellen Computer der Meinung, dass er über einige Hardware verfügt, aber keine solche Hardware existiert tatsächlich in der physischen Welt. |
| Has interrupts | No | Yes |
| Kann DMA verwenden | No | Yes |
| Wird erstellt oder zerstört durch... | Das Gastbetriebssystem | Das Hostbetriebssystem |
| Kann außerhalb einer Gast-VM erreichbar sein | No | Yes |