Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A partir do Windows 11, versão 24H2, o NetAdapterCx permite que você escreva um driver de adaptador de rede no Framework de Driver doUser-Mode (UMDF). As APIs UMDF no NetAdapterCx se alinham com as versões KMDF, permitindo que você converta o driver cliente baseado em KMDF em UMDF com pouca ou nenhuma alteração de código.
Benefícios dos drivers NetAdapterCx no modo de usuário
A criação de um driver UMDF NetAdapterCx oferece estes benefícios:
Estabilidade aprimorada do sistema: um driver de modo de usuário só pode acessar o espaço de endereço do processo. Se falhar, não afetará o sistema. O driver pode ser reiniciado automaticamente, restaurando rapidamente a conexão.
Segurança aprimorada: os aplicativos no modo de usuário não podem acessar diretamente 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 aprimorar o fluxo de trabalho do desenvolvedor. Não é necessário aguardar a reinicialização dos computadores de teste após falhas, e a implantação pode ser mais rápida usando o mesmo computador para desenvolvimento e teste.
Maior inovação e flexibilidade: restrições de desenvolvimento de driver no modo kernel geralmente 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çados que podem ser incompatíveis ou desafiadores para implementar no modo kernel.
Limitações do modo de usuário NetAdapterCx
No momento, 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 como 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 precisam depender do sistema para alocar buffers de dados nos caminhos de transmissão e recepção de dados.
Quando o driver UMDF anuncia seus recursos de buffer de dados do hardware usando a estrutura NET_ADAPTER_RX_CAPABILITIES, ele deve:
- Defina NET_RX_FRAGMENT_BUFFER_ALLOCATION_MODE como NetRxFragmentBufferAllocationModeSystem.
- Defina NET_RX_FRAGMENT_BUFFER_ATTACHMENT_MODE como NetRxFragmentBufferAttachmentModeSystem.
- Defina NET_MEMORY_MAPPING_REQUIREMENT como NetMemoryMappingRequirementNone.
Converter um driver KMDF NetAdapterCx em UMDF
Para operar no modo de usuário, o driver cliente deve usar apenas AS APIs principais do WDF que fazem parte do UMDF. Por exemplo, o driver cliente não deve usar APIs exclusivas para drivers KMDF.
Para converter o driver KMDF NetAdapterCx em 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.