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 |
|
Plattformen |
|
Unterstützte Versionen |
|
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. |