Partager via


DF - Test IOCTL fuzz zero length (Fiabilité)

Pendant le test de 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 des codes de contrôle d’E/S différents en utilisant 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 de la mémoire tampon Zero-Length 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 IOCTL 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éthode de test : DoZeroLengthBufferIOCTLTest

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é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

Avant d’exécuter le test, effectuez la configuration du test comme décrit dans les conditions requises pour le test : Configuration requise pour le test de fiabilité Device.Fundamentals.

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 spécifiques aux tests Device Fundamentals 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 mémoire 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érencement d’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 d’étiquettes de pool et de listes de recherche. Cette option surveille également les modifications apportées au nombre d’exceptions gérées, ce qui peut indiquer des erreurs dans la gestion des exceptions.
DoSync True ou False. Ouvre également les handles 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 auxquels le vérificateur de pilotes doit être activé
DriverVerifierExcludedFlags Espace réservé pour les indicateurs du vérificateur de pilotes 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 jugé nécessaire, 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 IOCTL. La valeur minimale possible est 0.
MaxFunctionCode Spécifie la valeur maximale du champ FunctionCode dans les IOCTL. La valeur maximale possible est 4095.