Freigeben über


WinSock-Kern – Funktionstest

Dieser automatisierte Test durchläuft einige der zentralen Winsock-Funktionen gegen eine Loopback-Schnittstelle und prüft, ob die Winsock-API-Schnittstelle korrekt verwaltet wird.

Alle Tests umfassen IPv4- und IPv6-Sockets, die alle an die Loopback-Schnittstelle gebunden sind. Es gibt folgende Variationen:

  • Socketkatalog. Listet den Winsock-Katalog auf, erstellt einen Socket für jede zurückgegebene Protokollinfo-Struktur (jedes Protokoll-Tupel), und bindet ihn an die Loopback-Schnittstelle.

  • ÜBERLAPPENDE IO. Erstellt sowohl IPv4- als auch IPv6-TCP-Stream-Sockets, stellt eine Verbindung über Loopback her und sendet Daten zwischen den Sockets über blockierende Sende- und überlappende Empfangsaufrufe. Alle Daten werden als empfangen überprüft.

  • TransmitFile-Variation. Überprüft, dass TransmitFile Daten ordnungsgemäß sendet und das TF_DISCONNECT Flag für die Socketwiederverwendung für IPv4- und IPv6-Sockets implementiert. Erstellt eine temporäre 260-Byte-Datei und überträgt eine TCP-Verbindung über TransmitFile. Der Überwachungssocket verwendet AcceptEx, um die Verbindung und die Socketwiederverwendung zu überprüfen.

  • ConditionalAccept. Überprüft die Semantik der bedingten Akzeptanz sowohl über IPv4- als auch über IPv6-TCP-Stream-Sockets. Testet fünf Verbindungen: ohne Empfänger, mit Rückgabe CF_REJECT, mit Rückgabe CF_ACCEPT, mit Rückgabe CF_DEFER + CF_REJECT, und mit Rückgabe CF_DEFER + CF_ACCEPT.

  • Streams. Blockiert das Senden/Empfangen über IPv4- und IPv6-TCP-Stream-Sockets. Verzögert die Rufakzeptanz mit einem Rückstau von Null, bis die Verbindung beendet ist.

  • Datagramme. Überprüft das Senden und Empfangen von Datagrammen über IPv4- und IPv6 UDP-Sockets. Testet sowohl das Senden von Datagrammen über Verbinden/Senden/Empfangen als auch das verbindungslose Senden an/Empfangen von.

  • Klicken Sie auf Überprüft READFDS-Benachrichtigung sowohl auf IPv4- als auch auf IPv6-TCP-Sockets für Hinweise auf Verbindungseinrichtung, Empfangen von Daten und Schließen des Sockets.

  • Binden. Überprüft die Bindungssemantik für IPv4- und IPv6-TCP-Sockets: grundlegende Bindungen, SO_REUSEADDR-Bindungen und SO_EXCLUSIVEADDRUSE-Bindungen.

  • ReadFile/WriteFile. Überprüft, ob überlappende ReadFile()- und WriteFile()-Funktionen sowohl über IPv4- als auch IPv6-TCP-Sockets ordnungsgemäß funktionieren.

  • Herunterfahren Überprüft die Herunterfahren()-Semantik auf IPv4- und IPv6-TCP-Sockets, indem eine Verbindung aufgebaut, ein blockierender Empfang gesendet und überprüft wird, ob der Herunterfahren-Aufruf den Empfang mit null empfangenen Bytes abschließt.

  • Adressierung. Überprüft die Konvertierung von IPv4- und IPv6-Adressen von h-, dezimalen und oktalen Zeichenfolgen in die entsprechenden Socket-Adressstrukturwerte (WSAAddressToString und WSAStringToAddress).

  • Multicast. Bei IPv4 und IPv6 überprüft die Teilnahme an Multicastgruppen über IP_ADD_MEMBERSHIP und IPV6_ADD_MEMBERSHIP, Senden und Empfangen von Daten an die Gruppe und Verlassen der Gruppe.

  • JoinLeaf. Für IPv4 und IPv6 wird der Beitritt zu Multicastgruppen über WSAJoinLeaf, das Senden und Empfangen von Daten an die Gruppe und das Verlassen der Gruppe überprüft.

  • AsyncSelect. Überprüft bei IPv4- und IPv6-TCP-Sockets, ob FD_CONNECT, FD_SEND und FD_READ Windows-Nachrichten über WSAAsyncSelect verarbeitet werden. Überprüft außerdem, ob FD_CONNECT verarbeitet wird, wenn ein Multicast-Socket WSAJoinLeaf abschließt.

  • IOCP. Bei IPv4- und IPv6-TCP-Sockets werden überlappende Empfangsaufrufe ausgeführt, in denen der Socket einem I/O-Abschlussport zugeordnet ist. Überprüft außerdem, ob die überlappenden Fertigstellungen verarbeitet werden und alle Daten empfangen werden.

  • RAW-Socket. Für IPv4 und IPv6 werden unformatierte Sockets erstellt, die Internet Control Message Protocol (ICMP) Nachrichten über OVERLAPPED IO senden und empfangen.

  • PnP. Überprüft, ob eine Benachrichtigung über eine überlappende Adressänderung signalisiert wird, wenn IP-Adressen, die keine Loopback-Adressen sind, zum ersten Non-Loopback hinzugefügt oder entfernt werden.

Weitere Informationen über die Winsock-API finden Sie unter Windows Sockets 2.

Testdetails

   
Spezifikationen
  • Filter.Driver.FileSystem.MiniFilter
  • Filter.Driver.AntiVirus.MiniFilter
  • Filter.Driver.AntiVirus.Winsock
Plattformen
  • Windows 10, Client-Editionen (x86)
  • Windows 10, Client-Editionen (x64)
  • Windows Server 2016 (x64)
Unterstützte Versionen
  • 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
  • Nächstes Update auf Windows 10
Voraussichtliche Laufzeit (in Minuten) 30
Kategorie Entwicklung
Zeitüberschreitung (in Minuten) 1800
Neustart erforderlich false
Erfordert eine spezielle Konfiguration false
Typ automatic

 

Zusätzliche Dokumentation

Tests in diesem Funktionsbereich enthalten möglicherweise zusätzliche Dokumentation, einschließlich Informationen zu Voraussetzungen, Einrichtung und Fehlerbehebung, die in den folgenden Themen zu finden sind:

Ausführen des Tests

Weitere Informationen zu den Anforderungen finden Sie unter Voraussetzungen für Dateisystemtests.

Darüber hinaus erfordert dieser Test die folgende Software:

  • Ein Filtertreiber, der zusammen mit jeder unterstützenden Anwendungssuite getestet werden soll

  • Mindestens eine verbundene Netzwerkschnittstelle mit gültiger IPv4- und IPv6-Adresse

Problembehandlung

Informationen zur allgemeinen Problembehandlung bei HLK-Testfehlern finden Sie unter Problembehandlung bei Windows HLK-Testfehlern.

Informationen zur Problembehandlung finden Sie unter Problembehandlung bei Dateisystemtests.

Alle Testfälle geben „Erfolgreich“ oder „Fehlgeschlagen“ zurück. Um Testdetails anzuzeigen, überprüfen Sie das Testprotokoll im Windows HLK Studio.

Hinweis

   Die Windows-Firewall öffnet möglicherweise eine Meldung, die vorschlägt, dass die Firewall einige Features des Tests blockiert. Die Firewall wirkt sich jedoch nicht auf den Test aus. Diese Meldung können Sie problemlos ignorieren.

 

Wenn dieses Verfahren kein erfolgreiches Testergebnis bereitstellt, senden Sie das Testprotokoll mit geräte- oder systemspezifischen Details an den Windows Hardware Lab Kit (HLK) Support-Alias.

Weitere Informationen

Befehlssyntax

Befehlsoption Beschreibung

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

Sie müssen dieses Kernargument angeben.

-lsponly

Sie müssen dieses Argument anfügen, wenn ein LSP installiert ist.

Hinweis

   Geben Sie /h ein, um die Befehlszeilenhilfe für diese Testbinärdatei anzuzeigen.

 

Dateiliste

Datei Standort

WinsockFunctional.exe

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

WinsockFunctional.wtl

Detailliertes Ausgabeprotokoll, das die Testergebnisse enthält

Wsbvt.log

Zusammenfassungsausgabeprotokoll der Testergebnisse

Bvterr.log

Zusammenfassungsausgabeprotokoll der Testergebnisse

Fnshell.ini

Temporäre .ini Datei, die der Test generiert und verwendet

 

Parameter

Parametername Parameterbeschreibung
LLU_LocalAdmin LLU zum Ausführen
LLU_NetAccessOnly LLU zum Kopieren