Partager via


Test fonctionnel du cœur winsock

Ce test automatisé itère certaines des fonctionnalités principales de Winsock par rapport à une interface de bouclage et vérifie si l’interface de l’API Winsock est correctement gérée.

Tous les tests couvrent les sockets IPv4 et IPv6, qui sont tous liés à l’interface de bouclage. Les variantes sont les suivantes :

  • Catalogue de sockets. Énumère le catalogue Winsock, crée un socket pour chaque structure protocolinfo retournée (chaque tuple de protocole) et le lie à l’interface de bouclage.

  • E/S QUI SE CHEVAUCHENT. Crée des sockets de flux TCP IPv4 et IPv6, établit une connexion par bouclage et envoie des données entre les sockets en bloquant les appels d’envoi et de réception qui se chevauchent. Toutes les données sont vérifiées telles qu’elles sont reçues.

  • Variante TransmitFile. Vérifie que TransmitFile envoie correctement les données et implémente l’indicateur TF_DISCONNECT pour la réutilisation des sockets IPv4 et IPv6. Crée un fichier temporaire de 260 octets et transmet via une connexion TCP via TransmitFile. Le socket d’écoute utilise AcceptEx pour vérifier la connexion et la réutilisation du socket.

  • ConditionalAccept. Vérifie la sémantique de l’acceptation conditionnelle sur les sockets de flux TCP IPv4 et IPv6. Teste cinq connexions : sans écouteur, retour d’CF_REJECT, retour de CF_ACCEPT, retour de CF_DEFER + CF_REJECT et retour CF_DEFER + CF_ACCEPT.

  • Flux. Bloque l’envoi/la réception sur les sockets de flux TCP IPv4 et IPv6. Reporte l’acceptation des appels avec un backlog d’écoute zéro jusqu’à ce que la connexion soit terminée.

  • Datagrammes. Vérifie l’envoi et la réception de datagrammes sur des sockets UDP IPv4 et IPv6. Teste à la fois l’envoi de datagrammes via la connexion/l’envoi/la réception et l’envoi/réception sans connexion à partir de.

  • Sélectionnez Vérifie la notification READFDS sur les sockets TCP IPv4 et IPv6 pour les indications de l’établissement de la connexion, de la réception des données et de la fermeture du socket.

  • Lier : Vérifie la sémantique de liaison pour les sockets TCP IPv4 et IPv6 : liaison de base, liaisons SO_REUSEADDR et liaisons SO_EXCLUSIVEADDRUSE .

  • ReadFile/WriteFile. Vérifie si les fonctions ReadFile() et WriteFile() qui se chevauchent fonctionnent correctement sur les sockets TCP IPv4 et IPv6.

  • Arrêter. Vérifie la sémantique shutdown() sur les sockets TCP IPv4 et IPv6 en établissant une connexion, en publiant une réception bloquante et en vérifiant si l’arrêt d’appel termine la réception avec zéro octet reçu.

  • Adressage. Vérifie la conversion des adresses IPv4 et IPv6 des chaînes h, décimales et octales en valeurs de structure d’adresses de socket correspondantes (WSAAddressToString et WSAStringToAddress).

  • Multidiffusion. Pour IPv4 et IPv6, vérifie la jonction à des groupes de multidiffusion via IP_ADD_MEMBERSHIP et IPV6_ADD_MEMBERSHIP, en envoyant et en recevant des données au groupe et en quittant le groupe.

  • JoinLeaf. Pour IPv4 et IPv6, vérifie la jonction à des groupes de multidiffusion via WSAJoinLeaf, en envoyant et en recevant des données au groupe et en quittant le groupe.

  • AsyncSelect. Pour les sockets TCP IPv4 et IPv6, vérifie que les messages Windows FD_CONNECT, FD_SEND et FD_READ sont traités via WSAAsyncSelect. Vérifie également si FD_CONNECT est traité lorsqu’un socket multidiffusion termine WSAJoinLeaf.

  • IOCP. Pour les sockets TCP IPv4 et IPv6, effectue des appels de réception qui se chevauchent dans lesquels le socket est associé à un port d’achèvement d’E/S. Vérifie également si les achèvements qui se chevauchent sont traités et si toutes les données sont reçues.

  • Socket RAW. Pour IPv4 et IPv6, crée des sockets bruts, en envoyant et en recevant des messages ICMP (Internet Control Message Protocol) via des E/S superposées.

  • Pnp. Vérifie si la notification de changement d’adresse qui se chevauche est signalée lorsque des adresses IP autres que le bouclage sont ajoutées et supprimées du premier non-bouclage.

Pour plus d’informations sur l’API Winsock, consultez Sockets Windows 2.

Détails du test

   
Spécifications
  • Filter.Driver.FileSystem.MiniFilter
  • Filter.Driver.AntiVirus.MiniFilter
  • Filter.Driver.AntiVirus.Winsock
Plateformes
  • Windows 10, éditions clientes (x86)
  • Windows 10, éditions clientes (x64)
  • Windows Server 2016 (x64)
Versions prises en charge
  • Windows 10
  • Windows 10, version 1511
  • Windows 10, version 1607
  • Windows 10 version 1703
  • Windows 10, version 1709
  • Windows 10 version 1803
  • Windows 10, version 1809
  • Windows 10 version 1903
  • Prochaine mise à jour de Windows 10
Durée d’exécution attendue (en minutes) 30
Catégorie Développement
Délai d’expiration (en minutes) 1800
Nécessite un redémarrage false
Nécessite une configuration spéciale false
Type automatique

 

Documentation supplémentaire

Les tests de cette zone de fonctionnalités peuvent contenir une documentation supplémentaire, notamment des informations sur les prérequis, l’installation et la résolution des problèmes, que vous trouverez dans les rubriques suivantes :

Exécution du test

Pour plus d’informations sur la configuration requise, consultez Conditions préalables au test du système de fichiers.

En outre, ce test nécessite les logiciels suivants :

  • Un pilote de filtre à tester avec toute suite d’applications prenant en charge

  • Au moins une interface réseau connectée qui a une adresse IPv4 et IPv6 valide

Dépannage

Pour la résolution des problèmes génériques des échecs de test HLK, consultez Résolution des échecs de test Windows HLK.

Pour plus d’informations sur la résolution des problèmes, consultez Résolution des problèmes de test du système de fichiers.

Tous les cas de test retournent réussite ou échec. Pour passer en revue les détails du test, consultez le journal des tests de Windows HLK Studio.

Notes

   Le Pare-feu Windows peut ouvrir un message indiquant que le pare-feu bloque peut-être certaines fonctionnalités du test. Toutefois, le pare-feu n’affecte pas le test. Vous pouvez sans risque ignorer ce message.

 

Si cette procédure ne fournit pas de résultat de test réussi, envoyez le journal des tests avec des détails spécifiques à l’appareil ou spécifiques au système à l’alias de support du Kit de laboratoire matériel Windows (HLK).

Plus d’informations

Syntaxe de commande

Option de commande Description

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

Vous devez fournir cet argument de base.

-lsponly

Vous devez ajouter cet argument lorsqu’un fournisseur de services LSP est installé.

Notes

   Pour obtenir de l’aide en ligne de commande pour ce binaire de test, tapez /h.

 

Liste de fichiers

File Emplacement

WinsockFunctional.exe

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

WinsockFunctional.wtl

Journal de sortie détaillé contenant les résultats des tests

Wsbvt.log

Journal de sortie récapitulative des résultats des tests

Bvterr.log

Journal de sortie récapitulative des résultats des tests

Fnshell.ini

Fichier .ini temporaire généré et utilisé par le test

 

Paramètres

Nom du paramètre Description des paramètres
LLU_LocalAdmin LLU pour l’exécution
LLU_NetAccessOnly LLU pour la copie