Share via


DF - Test FSCTL de la mémoire tampon fuzz de longueur zéro (fiabilité)

Pendant le test de la mémoire tampon Zero-Length, le test Fuzz émet une série d’appels à la fonction DeviceIoControl avec des longueurs de mémoire tampon d’entrée et/ou de sortie de 0. Le test génère différents codes de contrôle d’E/S à l’aide de différents codes de fonction, types d’appareils, méthodes de transfert de données et exigences d’accès. Pour plus d’informations sur le contenu des codes de contrôle d’E/S, consultez Définition de codes de contrôle d’E/S.

Pour tester la gestion par le pilote des pointeurs de mémoire tampon non valides, les pointeurs de mémoire tampon dans ces appels en mode utilisateur spécifient des adresses élevées dans l’espace d’adressage virtuel du noyau, comme 0xFFFFFC00).

Le test Fuzz effectue le test Zero-Length Buffer sur tous les appareils ouverts pendant les tests ouverts de base et supplémentaires. Vous pouvez personnaliser ce test à l’aide des paramètres de commande MinFunctionCode et MaxFunctionCode pour spécifier la plage de codes de fonction FSCTL utilisés dans les appels et MinDeviceType et MaxDeviceType pour spécifier la plage de types d’appareils utilisés dans les appels.

  • Binaire de test : Devfund_FuzzTest.dll
  • Méthodes de test : DoZeroLengthBufferFSCTLTest

Détails du test

   
Spécifications
  • Device.DevFund.Reliability.BasicReliabilityAndPerformance
  • Device.DevFund.Reliability.BasicSecurity
  • Device.DevFund.DriverFramework.KMDF.Reliability
  • Device.DevFund.DriverFramework.UMDF.Reliability
Plateformes
  • Windows 10, éditions clientes (x86)
  • Windows 10, éditions clientes (x64)
  • Windows Server 2016 (x64)
  • Windows 10, éditions clientes (Arm64)
  • Windows 10, édition mobile (Arm)
  • Windows 10, édition mobile (Arm64)
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) 15
Catégorie Scénario
Délai d’expiration (en minutes) 180
Nécessite un redémarrage false
Nécessite une configuration spéciale true
Type automatique

 

Documentation supplémentaire

Les tests de cette zone de fonctionnalité peuvent avoir une documentation supplémentaire, y compris les conditions préalables, l’installation et les informations de résolution des problèmes, que vous trouverez dans les rubriques suivantes :

Exécution du test

Avant d’exécuter le test, effectuez la configuration du test comme décrit dans les conditions requises pour le test : Device.Fundamentals Reliability Testing Prerequisites.

Dépannage

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

Pour plus d’informations sur la résolution des problèmes spécifiques aux tests De base de l’appareil dans HLK et WDK, consultez la documentation supplémentaire Device.DevFund.

Plus d’informations

Paramètres

Nom du paramètre Description des paramètres
DQ Une requête WDTF SDEL utilisée pour identifier le ou les appareils cibles : https://go.microsoft.com/fwlink/?LinkId=232678
Wpa2PskAesSsid Obligatoire UNIQUEMENT si DUT ou l’un de ses appareils enfants est un adaptateur Wi-Fi. Fournissez le SSID d’un réseau Wi-Fi WPA2 AES que le test peut utiliser pour tester l’adaptateur Wi-Fi. La valeur par défaut est « kitstestssid ».
Wpa2PskPassword Obligatoire UNIQUEMENT si DUT ou l’un de ses appareils enfants est un adaptateur Wi-Fi. Indiquez le mot de passe du réseau Wi-Fi WPA2 AES spécifié à l’aide du paramètre Wpa2PskAesSsid. La valeur par défaut est « password ».
ChangeBufferProtectionFlags True ou False. Modifie les indicateurs de protection de la mémoire des mémoires tampons passées à l’appareil testé. Les indicateurs de protection de la mémoire alternent entre aucun accès, lecture seule et lecture seule avec protection de page.
Impersonate True ou False. Exécute le test en tant qu’utilisateur non administratif.
FillZeroPageWithNull True ou False. Mappe la page zéro et la remplit avec des valeurs NULL. Ce test identifie les pilotes qui ne vérifient pas une référence de pointeur avant de déréférencer un pointeur.
DoPoolCheck True ou False. Surveille l’utilisation par le pilote des pools de mémoire système paginés et non paginés à l’aide de balises de pool et de listes de lookaside. Cette option surveille également les modifications du nombre d’exceptions gérées, ce qui peut indiquer des erreurs dans la gestion des exceptions.
DoSync True ou False. Ouvre également les descripteurs d’appareil en mode SYNC (FILE_SYNCHRONOUS_IO_ALERT). Les opérations de lecture et d’écriture aléatoires sont ignorées.
TestCycles Nombre de cycles de test.
DriverVerifierAdditionalDrivers Pilotes supplémentaires dont le vérificateur de pilotes doit être activé
DriverVerifierExcludedFlags Espace réservé pour les indicateurs du vérificateur de pilote qui peuvent être exclus manuellement pour la série de tests
WDKDeviceID ID d’appareil de l’appareil en cours de test
QueryHardwareID ID matériel de l’appareil en cours de test
WDTFREMOTESYSTEM Obligatoire UNIQUEMENT si DUT ou l’un de ses appareils enfants est une carte réseau câblée qui n’a pas d’adresse de passerelle IPv6. S’il est déterminé comme obligatoire, indiquez une adresse IPv6 que la carte réseau de test peut effectuer un test ping pour tester les E/S réseau. Par exemple: fe80::78b6:810:9c12:46cd
DriverVerifierCustomizeConfiguration Spécifie que ce test peut vouloir mettre à jour automatiquement les paramètres du vérificateur de pilote
MinDeviceType Spécifie la valeur minimale du champ DeviceType dans les IOCTL. La valeur minimale possible est 0. Utilisez -1 pour la détection automatique de type (par défaut).
MaxDeviceType Spécifie la valeur maximale du champ DeviceType dans les IOCTL. La valeur maximale possible est 65535. Utilisez -1 pour la détection automatique de type (par défaut).
MinFunctionCode Spécifie la valeur minimale du champ FunctionCode dans les FSCTL. La valeur minimale possible est 0.
MaxFunctionCode Spécifie la valeur maximale du champ FunctionCode dans les FSCTL. La valeur maximale possible est 4095.