Porta NDIS predefinita

La porta zero è riservata come porta predefinita per un adattatore miniport. Se il parametro PortNumber di qualsiasi funzione o il membro PortNumber di qualsiasi struttura è impostato su zero, il driver miniport non ha allocato alcuna porta o l'attività corrente non è specifica della porta.

Per un buon esempio della porta NDIS predefinita, prendere in considerazione un driver intermedio MUX di bilanciamento del carico e failover (LBFO). Il miniport virtuale di tale driver può essere porta zero (porta predefinita). Il driver intermedio può assegnare porte alle schede miniport sottostanti con i numeri di porta compresi tra 1 e il numero di porte (N). Un driver overlying potrebbe inviare dati alla porta zero per consentire al driver LBFO di selezionare una delle porte sottostanti o il driver sovralmente possibile specificare un numero di porta compreso tra 1 e N per scegliere una porta specifica per l'operazione di invio.

I driver miniport non devono allocare porte o supportare numeri di porta diversi dalla porta predefinita. Anche se un driver miniport non alloca le porte, NDIS alloca la porta predefinita e la attiva dopo che il driver miniport chiama la funzione NdisMSetMiniportAttributes per impostare gli attributi di registrazione nella struttura NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES . I driver Miniport possono avviare operazioni sulla porta predefinita quando NdisMSetMiniportAttributes restituisce correttamente. In questo caso, NDIS libera la porta predefinita quando il driver miniport restituisce dalla funzione MiniportHaltEx .