Gestione di uno stack di interfaccia di rete
NDIS fornisce servizi per gestire la tabella dello stack di interfacce (ifStackTable in RFC 2863). NDIS gestisce la tabella stack per le schede miniport NDIS, NDIS 5. x filtra i driver intermedi e i moduli di filtro NDIS. NDIS fornisce anche servizi per consentire ai driver NDIS di aggiungere ed eliminare voci in questa tabella. Per i driver intermedi MUX, NDIS non ha accesso alla relazione tra l'interfaccia miniport virtuale e l'interfaccia inferiore del protocollo. Pertanto, i driver intermedi MUX NDIS 6.0 devono specificare queste relazioni di interfaccia interne.
Per definire una relazione stack tra due interfacce, qualsiasi driver NDIS può passare i parametri HigherLayerIfIndex e LowerLayerIfIndex alla funzione NdisIfAddIfStackEntry . Questi parametri specificano un'interfaccia di rete che deve essere superiore nello stack di interfacce di rete e un'interfaccia di rete che deve essere inferiore nello stack.
Un driver con informazioni sull'ordine dello stack su un'interfaccia correlata a un'altra interfaccia (ad esempio, associazioni interne in un driver intermedio MUX che non sono visibili a NDIS) chiama NdisIfAddIfStackEntry per popolare la tabella dello stack di interfacce. Questa funzione restituisce NDIS_STATUS_SUCCESS se la voce dello stack è stata eseguita correttamente. In genere, il componente proprietario o è il provider di interfaccia per l'interfaccia di livello superiore (che HigherLayerIfIndex identifica) chiama NdisIfAddIfStackEntry.
Per rimuovere una voce di tabella dello stack, un driver passa i parametri HigherLayerIfIndex e LowerLayerIfIndex alla funzione NdisIfDeleteIfStackEntry .
Per un esempio di gestione dello stack di interfaccia, vedere il driver di esempio MUX 6.0.