Compartilhar via


Teste funcional do Winsock Core

Esse teste automatizado itera por meio de algumas das principais funcionalidades do Winsock em uma interface de loopback e verifica se a interface da API winsock é mantida corretamente.

Todos os testes abrangem soquetes IPv4 e IPv6, todos associados à interface de loopback. As variações são as seguintes:

  • Catálogo de soquetes. Enumera o catálogo winsock, cria um soquete para cada estrutura protocolinfo retornada (cada tupla de protocolo) e a associa à interface de loopback.

  • E/S SOBREPOSTA. Cria soquetes de fluxo TCP IPv4 e IPv6, estabelece uma conexão por loopback e envia dados entre soquetes por meio do bloqueio de chamadas de recebimento de envio e sobreposição. Todos os dados são verificados conforme recebidos.

  • Variação de TransmitFile. Verifica se o TransmitFile envia dados corretamente e implementa o sinalizador TF_DISCONNECT para reutilização de soquete para soquetes IPv4 e IPv6. Cria um arquivo temporário de 260 bytes e transmite por uma conexão TCP por meio do TransmitFile. O soquete de escuta usa AcceptEx para verificar a conexão e a reutilização do soquete.

  • ConditionalAccept. Verifica a semântica de aceitação condicional em soquetes de fluxo TCP IPv4 e IPv6. Testa cinco conexões: sem um ouvinte, retornando CF_REJECT, retornando CF_ACCEPT, retornando CF_DEFER + CF_REJECT e retornando CF_DEFER + CF_ACCEPT.

  • Fluxos. Bloqueia o envio/recebimento por meio de soquetes de fluxo TCP IPv4 e IPv6. Adia a aceitação da chamada com uma lista de pendências de escuta zero até que a conexão seja concluída.

  • Datagramas. Verifica o envio e o recebimento de datagramas por meio de soquetes UDP IPv4 e IPv6. Testa o envio de datagramas por meio de conexão/envio/recebimento e envio sem conexão para/recebimento.

  • Selecione Verifica a notificação READFDS em soquetes TCP IPv4 e IPv6 para obter indicações de estabelecimento de conexão, recebimento de dados e fechamento do soquete.

  • Ligar. Verifica a semântica de associação para soquetes TCP IPv4 e IPv6: associação básica, associações SO_REUSEADDR e associações de SO_EXCLUSIVEADDRUSE .

  • ReadFile/WriteFile. Verifica se as funções ReadFile() e WriteFile() sobrepostas funcionam corretamente em soquetes TCP IPv4 e IPv6.

  • Desligamento. Verifica a semântica shutdown() nos soquetes TCP IPv4 e IPv6 estabelecendo uma conexão, postando um recebimento de bloqueio e verificando se a chamada de desligamento conclui o recebimento com zero bytes recebidos.

  • Endereçamento. Verifica a conversão de endereços IPv4 e IPv6 de cadeias de caracteres h, decimal e octal para os valores de estrutura de endereço de soquete correspondentes (WSAAddressToString e WSAStringToAddress).

  • Multicast. Para IPv4 e IPv6, verifica a junção a grupos multicast por meio de IP_ADD_MEMBERSHIP e IPV6_ADD_MEMBERSHIP, enviando e recebendo dados para o grupo e deixando o grupo.

  • JoinLeaf. Para IPv4 e IPv6, verifica a junção a grupos multicast por meio de WSAJoinLeaf, envio e recebimento de dados para o grupo e saída do grupo.

  • Asyncselect. Para soquetes TCP IPv4 e IPv6, verifica se FD_CONNECT, FD_SEND e FD_READ mensagens do Windows são processadas por meio de WSAAsyncSelect. Também verifica se FD_CONNECT é processado quando um soquete multicast conclui o WSAJoinLeaf.

  • IOCP. Para soquetes TCP IPv4 e IPv6, faz chamadas de recebimento sobrepostas nas quais o soquete está associado a uma porta de conclusão de E/S. Também verifica se as conclusões sobrepostas são processadas e todos os dados são recebidos.

  • Soquete RAW. Para IPv4 e IPv6, cria soquetes brutos, enviando e recebendo mensagens do Protocolo de Mensagem de Controle da Internet (ICMP) por meio de E/S OVERLAPPED.

  • Pnp. Verifica se a notificação de alteração de endereço sobreposta é sinalizada quando endereços IP não loopback são adicionados e removidos do primeiro não loopback.

Para obter mais informações sobre a API winsock, consulte Windows Sockets 2.

Detalhes do teste

   
Especificações
  • Filter.Driver.FileSystem.MiniFilter
  • Filter.Driver.AntiVirus.MiniFilter
  • Filter.Driver.AntiVirus.Winsock
Plataformas
  • Windows 10, edições de cliente (x86)
  • Windows 10, edições de cliente (x64)
  • Windows Server 2016 (x64)
Versões com suporte
  • Windows 10
  • Windows 10, versão 1511
  • Windows 10, versão 1607
  • Windows 10, versão 1703
  • Windows 10, versão 1709
  • Windows 10, versão 1803
  • Windows 10, versão 1809
  • Windows 10, versão 1903
  • Próxima atualização para Windows 10
Tempo de execução esperado (em minutos) 30
Categoria Desenvolvimento
Tempo limite (em minutos) 1800
Requer reinicialização false
Requer configuração especial false
Tipo automático

 

Documentação adicional

Os testes nessa área de recursos podem ter documentação adicional, incluindo pré-requisitos, configuração e informações de solução de problemas, que podem ser encontrados nos tópicos a seguir:

Executando o teste

Para obter mais informações sobre os requisitos, consulte Pré-requisitos de teste do sistema de arquivos.

Além disso, esse teste requer o seguinte software:

  • Um driver de filtro a ser testado junto com qualquer pacote de aplicativos de suporte

  • Pelo menos um adaptador de rede conectado que tem um endereço IPv4 e IPv6 válido

Solucionando problemas

Para solucionar problemas genéricos de falhas de teste do HLK, consulte Solução de problemas de falhas de teste do Windows HLK.

Para obter informações de solução de problemas, consulte Solução de problemas de teste do sistema de arquivos.

Todos os casos de teste retornam Pass ou Fail. Para examinar os detalhes do teste, examine o log de teste do Windows HLK Studio.

Observação

   O Firewall do Windows pode abrir uma mensagem que sugere que o firewall pode estar bloqueando alguns recursos do teste. No entanto, o firewall não afeta o teste. Você pode ignorar essa mensagem com segurança.

 

Se este procedimento não fornecer um resultado de teste bem-sucedido, envie o log de teste com detalhes específicos do dispositivo ou específicos do sistema para o alias de suporte do HLK (Windows Hardware Lab Kit).

Mais informações

Sintaxe de comando

Opção de comando Descrição

Winsockfunctional -protocol ip -t "Winsock API\Current Protocols (IPv4/IPv6)\BVT" -wtt -r -dontdisable -ipsec -notrace

Você deve fornecer esse argumento principal.

-lsponly

Você deve acrescentar esse argumento quando um LSP é instalado.

Observação

   Para obter ajuda de linha de comando para esse binário de teste, digite /h.

 

Lista de arquivos

Arquivo Location

WinsockFunctional.exe

<[testbinroot]>\NTTest\NetTest\Winsock\common\

WinsockFunctional.wtl

Log de saída detalhado que contém os resultados do teste

Wsbvt.log

Log de saída de resumo dos resultados do teste

Bvterr.log

Log de saída de resumo dos resultados do teste

Fnshell.ini

Arquivo de .ini temporário que o teste gera e usa

 

Parâmetros

Nome do parâmetro Descrição do parâmetro
LLU_LocalAdmin LLU para execução
LLU_NetAccessOnly LLU para Cópia