Verwalten eines Netzwerkschnittstellenstapels
NDIS stellt Dienste zur Verwaltung der Schnittstellenstapeltabelle bereit (ifStackTable in RFC 2863). NDIS verwaltet die Stapeltabelle für NDIS-Miniportadapter( NDIS 5). x filter intermediate drivers, and NDIS filter modules. NDIS bietet auch Dienste, mit denen NDIS-Treiber Einträge in dieser Tabelle hinzufügen und löschen können. Für MUX-Zwischentreiber hat NDIS keinen Zugriff auf die Beziehung zwischen der virtuellen Miniportschnittstelle und der protokollunteren Schnittstelle. Daher müssen NDIS 6.0 MUX-Zwischentreiber diese internen Schnittstellenbeziehungen angeben.
Um eine Stapelbeziehung zwischen zwei Schnittstellen zu definieren, kann jeder NDIS-Treiber die Parameter HigherLayerIfIndex und LowerLayerIfIndex an die NdisIfAddIfStackEntry-Funktion übergeben. Diese Parameter geben eine Netzwerkschnittstelle an, die im Netzwerkschnittstellenstapel höher sein soll, und eine Netzwerkschnittstelle, die niedriger im Stapel sein soll.
Ein Treiber mit Stapelreihenfolgeinformationen zu einer Schnittstelle, die mit einer anderen Schnittstelle verknüpft ist (z. B. interne Bindungen in einem MUX-Zwischentreiber, die für NDIS nicht sichtbar sind), ruft NdisIfAddIfStackEntry auf, um die Schnittstellenstapeltabelle aufzufüllen. Diese Funktion gibt NDIS_STATUS_SUCCESS zurück, wenn der Stapeleintrag erfolgreich durchgeführt wurde. In der Regel ruft die Komponente, die besitzert oder ist der Schnittstellenanbieter für die Schnittstelle mit höherer Ebene (die Von HigherLayerIfIndex identifiziert wird) NdisIfAddIfStackEntry auf.
Um einen Stapeltabelleneintrag zu entfernen, übergibt ein Treiber die Parameter HigherLayerIfIndex und LowerLayerIfIndex an die NdisIfDeleteIfStackEntry-Funktion .
Ein Beispiel für die Verwaltung des Schnittstellenstapels finden Sie im MUX 6.0-Beispieltreiber.