Porta NDIS padrão

A porta zero é reservada como a porta padrão para um adaptador de miniporte. Se o parâmetro PortNumber de qualquer função ou o membro PortNumber de qualquer estrutura estiver definido como zero, o driver de miniporto não alocará nenhuma porta ou a atividade atual não será específica da porta.

Para obter um bom exemplo da porta NDIS padrão, considere um driver intermediário de MUX de balanceamento de carga e failover (LBFO). O miniporto virtual desse driver pode ser a porta zero (a porta padrão). O driver intermediário pode atribuir portas aos adaptadores de miniporte subjacentes com os números de porta variando de 1 até o número de portas (N). Um driver sobressociente pode enviar dados para a porta zero para permitir que o driver LBFO selecione uma das portas subjacentes ou o driver sobressociente pode especificar um número de porta de 1 a N para escolher uma porta específica para a operação de envio.

Os drivers de miniporto não precisam alocar portas ou dar suporte a números de porta diferentes da porta padrão. Mesmo que um driver de miniporto não aloque portas, o NDIS aloca a porta padrão e a ativa depois que o driver de miniporto chama a função NdisMSetMiniportAttributes para definir os atributos de registro na estrutura NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES . Os drivers de miniport podem iniciar operações na porta padrão quando NdisMSetMiniportAttributes retornar com êxito . Nesse caso, o NDIS libera a porta padrão quando o driver de miniport retorna da função MiniportHaltEx .