DF – Fuzz – FSCTL-Test auf Puffer mit Länge null (Zuverlässigkeit)

Während des Nulllängen-Puffertests gibt der Fuzztest eine Reihe von Aufrufen der DeviceIoControl-Funktion mit Ein- und/oder Ausgabepufferlängen von 0 (null) aus. Der Test generiert unterschiedliche E/A-Steuerungscodes mithilfe verschiedener Funktionscodes, Gerätetypen, Datenübertragungsmethoden und Zugriffsanforderungen. Informationen zum Inhalt von E/A-Steuerungscodes finden Sie unter Definieren von E/A-Steuerungscodes.

Um die Behandlung von ungültigen Pufferzeigern durch den Treiber zu testen, geben die Pufferzeiger in diesen Benutzermodusaufrufen Adressen an, die sehr weit oben im virtuellen Adressraum des Kernels liegen (z. B. 0xFFFFFC00).

Der Fuzztest führt den Nulllängen-Puffertest auf allen Geräten aus, die während der grundlegenden und zusätzlichen Tests geöffnet werden. Sie können diesen Test mithilfe der Befehlsparameter MinFunctionCode und MaxFunctionCode anpassen, um den Bereich von FSCTL-Funktionscodes anzugeben, die in den Aufrufen verwendet werden, und mit MinDeviceType und MaxDeviceType, um den in den Aufrufen verwendeten Umfang von Gerätetypen festzulegen.

  • Testbinärdatei: Devfund_FuzzTest.dll
  • Testmethoden: DoZeroLengthBufferFSCTLTest

Testdetails

   
Spezifikationen
  • Device.DevFund.Reliability.BasicReliabilityAndPerformance
  • Device.DevFund.Reliability.BasicSecurity
  • Device.DevFund.DriverFramework.KMDF.Reliability
  • Device.DevFund.DriverFramework.UMDF.Reliability
Plattformen
  • Windows 10, Client-Editionen (x86)
  • Windows 10, Client-Editionen (x64)
  • Windows Server 2016 (x64)
  • Windows 10, Client-Editionen (Arm64)
  • Windows 10, mobile Edition (Arm)
  • Windows 10, mobile Edition (Arm64)
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) 15
Kategorie Szenario
Zeitüberschreitung (in Minuten) 180
Neustart erforderlich false
Erfordert eine spezielle Konfiguration true
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

Bevor Sie den Test ausführen, vervollständigen Sie die Testeinrichtung wie in den Testanforderungen beschrieben: Device.Fundamentals Reliability Testing Prerequisites.

Problembehandlung

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

Informationen zur Problembehandlung speziell für die Device Fundamentals-Tests im HLK und WDK finden Sie in der zusätzlichen Dokumentation zu Device.DevFund.

Weitere Informationen

Parameter

Parametername Parameterbeschreibung
DQ Eine WDTF-SDEL-Abfrage, die verwendet wird, um das/die Zielgerät(e) zu identifizieren - https://go.microsoft.com/fwlink/?LinkId=232678
Wpa2PskAesSsid NUR erforderlich, wenn das DUT oder eines seiner untergeordneten Geräte ein WiFi-Adapter ist. Bitte geben Sie die SSID eines WPA2-AES-WLAN-Netzwerks an, das der Test zum Testen des WLAN-Adapters verwenden kann. Der Standardwert ist ‚kitstestssid‘.
Wpa2PskPassword NUR erforderlich, wenn das DUT oder eines seiner untergeordneten Geräte ein WiFi-Adapter ist. Bitte geben Sie das Passwort des WPA2-AES-WLAN-Netzwerks ein, das mit dem Parameter Wpa2PskAesSsid angegeben wurde. Der Standardwert ist ‚Passwort‘.
ChangeBufferProtectionFlags Richtig oder falsch. Ändert die Speicherschutzflags von Puffern, die an das getestete Gerät übergeben werden. Die Speicherschutzflags wechseln zwischen keinem Zugriff, schreibgeschütztem Zugriff und schreibgeschütztem Zugriff mit Seitenschutz.
Impersonate Richtig oder falsch. Führt den Test als nicht administrativer Benutzer aus.
FillZeroPageWithNull Richtig oder falsch. Ordnet die Nullseite zu und füllt sie mit NULL-Werten aus. Dieser Test identifiziert Treiber, die keinen Zeigerverweis überprüfen, bevor ein Zeiger dereferenziert wird.
DoPoolCheck Richtig oder falsch. Überwacht die Verwendung der Systemspeicherpools mit und ohne Auslagerung durch den Treiber mithilfe von Pooltags und Lookaside-Listen. Mit dieser Option werden auch Änderungen an der Anzahl der behandelten Ausnahmen überwacht, die auf Fehler bei der Ausnahmebehandlung hinweisen können.
DoSync Richtig oder falsch. Öffnet auch Gerätehandles im SYNC-Modus (FILE_SYNCHRONOUS_IO_ALERT). Zufällige Lese- und Schreibvorgänge werden übersprungen.
TestCycles Anzahl der Testzyklen.
DriverVerifierAdditionalDrivers Zusätzliche Treiber, für die die Treiberüberprüfung aktiviert sein sollte
DriverVerifierExcludedFlags Platzhalter für Treiberüberprüfungs-Flags, die manuell für den Testlauf ausgeschlossen werden können
WDKDeviceID Geräte-ID des zu testenden Geräts
QueryHardwareID Hardware-ID des zu testenden Geräts
WDTFREMOTESYSTEM NUR erforderlich, wenn das DUT oder eines seiner untergeordneten Geräte eine kabelgebundene NIC ist, die keine IPv6-Gateway-Adresse hat. Falls erforderlich, geben Sie bitte eine IPv6-Adresse an, die die Test-NIC anpingen kann, um die Netzwerk-E/A zu testen. Beispiel: fe80::78b6:810:9c12:46cd
DriverVerifierCustomizeConfiguration Gibt an, dass dieser Test möglicherweise die Treiberüberprüfungseinstellungen automatisch aktualisieren möchte
MinDeviceType Gibt den Mindestwert des DeviceType-Felds in den IOCTLs an. Der kleinstmögliche Wert ist 0. Verwenden Sie -1 für die automatische Typerkennung (bevorzugt).
MaxDeviceType Gibt den maximalen Wert des DeviceType-Felds in den IOCTLs an. Der größtmögliche Wert ist 65.535. Verwenden Sie -1 für die automatische Typerkennung (bevorzugt).
MinFunctionCode Gibt den Mindestwert des FunctionCode-Felds in den FSCTLs an. Der kleinstmögliche Wert ist 0.
MaxFunctionCode Gibt den maximalen Wert des FunctionCode-Felds in den FSCTLs an. Der größtmögliche Wert ist 4.095.