Compartilhar via


Drivers de miniporta

Um driver de miniporta NDIS tem duas funções básicas:

  • Gerenciar um cartão de adaptador de rede (NIC), incluindo o envio e recebimento de dados por meio da NIC.

  • Estabelecer interface com drivers de nível superior, como drivers de filtro, drivers intermediários e drivers de protocolo.

Um driver de miniporta se comunica com suas NICs e com drivers de nível superior por meio da biblioteca NDIS. A biblioteca NDIS exporta um conjunto completo de funções (NdisMXxx e outras funções NdisXxx ) que encapsulam todas as funções do sistema operacional que um driver de miniporta deve chamar. O driver de miniporta, por sua vez, deve exportar um conjunto de pontos de entrada (funções MiniportXxx ) que o NDIS chama para seus próprios fins ou em nome de drivers de nível superior, para acessar o driver de miniporta.

Observação

Para obter mais informações sobre a pilha de driver NDIS e um diagrama mostrando a relação entre todos os quatro tipos de driver NDIS, consulte Pilha de driver NDIS.

As seguintes operações de envio e recebimento ilustram a interação de drivers de miniporta com o NDIS e com drivers de nível superior:

  • Quando um driver de transporte tem um pacote para transmitir, ele chama uma função NdisXxx exportada pela biblioteca NDIS. Em seguida, o NDIS passa o pacote para o driver de miniporta chamando a função MiniportXxx apropriada exportada pelo driver de miniporta. Em seguida, o driver de miniporta encaminha o pacote para a NIC para transmissão chamando as funções NdisXxx apropriadas.

  • Quando uma NIC recebe um pacote endereçado a si mesma, ela pode postar uma interrupção de hardware que é tratada pelo NDIS ou pelo driver de miniporta da NIC. O NDIS notifica o driver de miniporta da NIC chamando a função MiniportXxx apropriada. O driver de miniporta configura a transferência de dados da NIC e, em seguida, indica a presença do pacote recebido para drivers de nível superior associados chamando a função NdisXxx apropriada.

Drivers de miniporta sem conexão e orientados a conexão

O NDIS dá suporte a drivers de miniporta para ambientes sem conexão e ambientes orientados a conexão.

Os drivers de miniporta sem conexão controlam NICs para mídia de rede sem conexão, como Ethernet. Os drivers de miniporta sem conexão são divididos em drivers desserializados e serializados:

Observação: todos os drivers NDIS 6.0 e posteriores são desserializados.

  • Os drivers desserializados serializam a operação de suas próprias funções MiniportXxx e que enfileiram internamente todos os pacotes de envio de entrada. Isso resulta em um desempenho full-duplex significativamente melhor, desde que as seções críticas do driver (código que apenas um único thread por vez pode executar) sejam mantidas pequenas.

  • Os drivers serializados dependem do NDIS para serializar chamadas para suas funções MiniportXxx e gerenciar suas filas de envio.

Os drivers de miniporta orientados a conexão controlam NICs para mídia de rede orientada a conexão, como ISDN. Os drivers de miniporta orientados à conexão são sempre desserializados, eles sempre serializam a operação de suas próprias funções MiniportXxx e enfileiram internamente todos os pacotes de envio de entrada.

Um driver de miniporta NDIS pode ter uma borda inferior não NDIS (consulte a figura a seguir).

Diagrama que mostra um driver de miniporta NDIS com uma borda inferior não NDIS.

Por meio de sua borda inferior não NDIS, um driver de miniporta usa a interface de classe para um barramento, como o USB (Barramento Serial Universal) para controlar um dispositivo no barramento. O driver de miniporta se comunica com o dispositivo enviando IRPs (pacotes de solicitação de E/S) para o barramento ou diretamente para dispositivos remotos anexados ao barramento. Em sua borda superior, o driver de miniporta expõe uma interface de driver de miniporta NDIS padrão, que habilita que o driver de miniporta se comunique com drivers NDIS subjacentes.

Drivers de miniporta NDIS

Referência do driver de miniporta NDIS