Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A partir do Windows 11, versão 24H2, o NetAdapterCx permite-lhe escrever um driver de adaptador de rede User-Mode Driver Framework (UMDF). As APIs UMDF no NetAdapterCx alinham-se com as versões KMDF, permitindo que você converta seu driver de cliente baseado em KMDF para UMDF com pouca ou nenhuma alteração de código.
Benefícios dos drivers NetAdapterCx em modo de utilizador
Criar um driver UMDF NetAdapterCx oferece estes benefícios:
Maior estabilidade do sistema: Um driver de modo de usuário só pode acessar o espaço de endereçamento de seu processo. Se falhar, não afeta o sistema. O driver pode reiniciar automaticamente, restaurando rapidamente a conexão.
Segurança aprimorada: Os aplicativos de modo de utilizador não podem aceder diretamente a recursos críticos do sistema ou executar instruções privilegiadas. Portanto, qualquer violação na segurança do driver não compromete a integridade do kernel.
Desenvolvimento simplificado: Os drivers de modo de usuário podem melhorar o fluxo de trabalho do desenvolvedor. Não há necessidade de esperar que as máquinas de teste sejam reinicializadas após falhas, e a implantação pode ser mais rápida usando a mesma máquina para desenvolvimento e teste.
Maior inovação e flexibilidade: As restrições de desenvolvimento de drivers do modo kernel muitas vezes limitam a inovação. Os drivers de modo de usuário fornecem um ambiente mais flexível, permitindo que os desenvolvedores usem recursos e ferramentas avançadas que podem ser incompatíveis ou difíceis de implementar no modo kernel.
Limitações do modo de usuário NetAdapterCx
Atualmente, os recursos a seguir estão disponíveis apenas para drivers NetAdapterCx baseados em KMDF.
Acesso direto à memória (DMA)
O DMA ainda não está disponível no modo de usuário.
Os drivers UMDF devem definir o membro DmaCapabilities em NET_ADAPTER_RX_CAPABILITIES e NET_ADAPTER_TX_CAPABILITIES para NULL.
Alocação de buffer do lado do cliente
O gerenciamento de buffer de dados de rede do lado do cliente não está disponível no modo de usuário. Os drivers UMDF NetAdapterCx devem confiar no sistema para alocar buffers de dados para os percursos de dados de transmissão e receção.
Quando o driver UMDF anuncia seus recursos de buffer de dados de hardware usando a estrutura NET_ADAPTER_RX_CAPABILITIES, ele deve:
- Defina NET_RX_FRAGMENT_BUFFER_ALLOCATION_MODE para NetRxFragmentBufferAllocationModeSystem.
- Defina NET_RX_FRAGMENT_BUFFER_ATTACHMENT_MODE como NetRxFragmentBufferAttachmentModeSystem.
- Defina NET_MEMORY_MAPPING_REQUIREMENT como NetMemoryMappingRequirementNone.
Converter um driver de KMDF NetAdapterCx para UMDF
Para operar no modo de usuário, o driver de cliente deve usar apenas as APIs WDF principais que fazem parte do UMDF. Por exemplo, o driver de cliente não deve usar nenhuma API exclusiva para drivers KMDF.
Para converter seu driver KMDF NetAdapterCx para UMDF, siga as etapas em Como converter um driver KMDF em um driver UMDF 2.
As versões UMDF e KMDF do NetAdapterCx compartilham o mesmo número de versão principal .