Partager via


Comment sélectionner et configurer les tests de base de l’appareil

Le WDK pour Windows 8 fournit une infrastructure de test de pilotes qui inclut un ensemble de tests appelés tests de base de l’appareil. Les tests de base de l’appareil sont une collection de tests qui sont utilisés en interne chez Microsoft pour tester les pilotes et les exemples de pilotes fournis avec Windows et le WDK, et en externe dans le cadre du programme de certification Windows pour le matériel. Vous pouvez exécuter les tests à partir de votre environnement de développement. Lorsque vous exécutez les tests, vous pouvez utiliser les mêmes paramètres que ceux utilisés pour les tests de certification Windows, ou vous pouvez configurer et personnaliser les paramètres d’exécution en fonction de vos besoins de test et de débogage.

Tirer le meilleur parti des tests de base de l’appareil

Pour tirer le meilleur parti des tests de base de l’appareil, votre appareil doit être pris en charge par les plug-ins d’E/S par défaut. Pour déterminer si votre type d’appareil est pris en charge et déterminer s’il existe des exigences spécifiques pour les tests, reportez-vous aux plug-ins d’E/S WDTF simples fournis. Le test Principes de base de l’appareil inclut également un utilitaire que vous pouvez utiliser pour tester votre appareil pour déterminer s’il est pris en charge. Si votre appareil n’est pas pris en charge, vous pouvez créer un plug-in d’E/S simple WDTF. dans Visual Studio. Pour plus d’informations, consultez Comment personnaliser les E/S de votre appareil à l’aide du plug-in d’action d’E/S SIMPLE WDTF.

À propos des tests de base de l’appareil

Le WDK fournit les tests de base de l’appareil dans deux configurations, de base et de certification. Dans les deux configurations, vous pouvez modifier les paramètres de test pour varier la longueur du test, le nombre de cycles de test à effectuer et d’autres paramètres de test, selon la façon dont vous souhaitez tester les périphériques ou pilotes ciblés. La configuration de base est destinée aux tests et débogage généraux des pilotes et des appareils. Utilisez la configuration de base dès le début et tout au long du cycle de développement. Les tests de la configuration de base ont les mêmes paramètres que ceux utilisés dans le test de certification Windows, à l’exception d’une durée d’exécution plus courte. Dans la configuration de certification, les tests ont les mêmes paramètres que ceux utilisés dans le test de certification Windows. Utilisez la configuration de certification pour vérifier la préparation pour tester votre appareil ou pilote pour le programme de certification Windows pour le matériel.

Les tests de base de l’appareil incluent des tests dans les catégories suivantes.

Définition des paramètres de test au moment de l’exécution

Vous pouvez modifier les paramètres d’exécution pour la plupart des tests de base de l’appareil. Dans la fenêtre Groupe de tests de pilotes, une flèche (") en regard d’un nom de test indique que le test a des paramètres que vous pouvez modifier. Sélectionnez la flèche (") pour afficher les paramètres d’exécution.

L’un des paramètres les plus utiles est DQ, qui spécifie l’appareil cible à tester. La valeur par défaut (IsDevice) teste tous les appareils sur l’ordinateur cible. Le paramètre DQ accepte une requête SDEL WDTF qui identifie les appareils cibles. Vous pouvez spécifier un appareil particulier pour les tests, par exemple :

DeviceID='USB\ROOT_HUB\4&1CD5D022&0' sélectionne uniquement l’appareil à tester avec l’ID d’appareil spécifié.

Pour plus d’informations sur DQ et les autres paramètres d’exécution, consultez paramètres de test De base de l’appareil.

Paramètres de test de base de l’appareil

Paramètre Description

DQ

Identifie l’appareil ou les appareils qui doivent être utilisés pour les tests. Le paramètre DQ accepte une requête SDEL WDTFqui identifie les appareils cibles. Cette requête peut être très flexible et elle peut être utilisée pour exprimer n’importe quel nombre d’appareils, d’un seul appareil à tous les appareils du système.

Exemples courants :

Pour tester tous les appareils installés avec un fichier INF spécifique :

INF ::FileName=INF_File_Name

Par exemple, INF ::OriginalInfFileName='KMDFTest.inf'

Inf ::OriginalInFileName peut être utilisé avec n’importe quel INF.

Pour tester un appareil avec un ID d’appareil spécifique :

DeviceId='DeviceId'

Par exemple, DeviceID='USB\ROOT_HUB\4&1CD5D022&0'

Pour tester un appareil avec une interface spécifique :

Interfaces ::InterfaceGUID

Pour tester un appareil avec une lettre de pilote spécifique :

Volume ::D riverLetter='DriveLetter'

Par exemple, Volume ::D riverLetter='c :\'

Pour tester un appareil avec un pilote spécifique :

DriverBinaryNames=mydriver.sys

KMDFTest.inf est le inf utilisé pour installer le pilote. Vous pouvez également utiliser la cible folloiwng sur les appareils qui utilisent KMDFTest.sys pilote.

(DriverBinaryNames='KMDFTest.sys') fonctionne.

Après avoir défini correctement le SDEL, vous devez voir la sortie suivante sur la console lorsque vous exécutez un test.

WDTF_TARGETS : INFO : - Query(« IsDevice AND ((Inf ::OriginalInfFileName='KMDFTest.inf')) ») WDTF_TARGETS : INFO : CIBLE : KMDFTest Device ROOT\SAMPLE\SAMPLE\0000 WDTF_TEST : INFO : AVERTISSEMENT : Le test n’applique pas le vérificateur de pilote activé. WDTF_TEST : INFO : DV est activé avec Flag :=0x209bb WDTF_TEST : INFO : DV est correctement activé pour tous les pilotes de ce devnode (UniqueTargetName) : =KMDFTest Device ROOT\SAMPLE\0000 WDTF_TARGET : INFO : - GetInterface(« Support ») WDTF_TARGET : INFO : Cible : DESKTOP-2OVFH3G WDTF_TARGETS : INFO : - Query(« IsDevice ») WDTF_TARGETS : INFO : Target : KMDFTest Device ROOT\SAMPLE\0000 WDTF_TARGETS : INFO : - GetRelations(« below-or-self/ », « IsDevice ») WDTF_TARGETS : INFO : Cible : KMDFTest Device ROOT\SAMPLE\0000 WDTF_TARGETS : INFO : - GetInterfacesIfExist(« SimpleIOStressProc ») WDTF_SIMPLE_IO : INFO : - For Target :KMDFTest Device ROOT\SAMPLE\SAMPLE\0000 no Simple IO Interface was found. WDTF_SIMPLE_IO : INFO : - Pour target :KMDFTest Device ROOT\SAMPLE\0000 WDTF utilise l’interface D’E/S simple ANY.

Pour plus d’informations, consultez la configuration des fichiers joints et les fichiers journaux. WDTF_TARGETS : INFO : Cible : KMDFTest Device ROOT\SAMPLE\0000 WDTF_TEST : INFO : Effectuer 1 cycle(s) de test d’arrêt d’E/S WDTF_TEST : INFO : INFO : Cycle d’arrêt d’E/S #1 WDTF_SIMPLEIO_STRESS_PROC : INFO : - StartAsync(KMDFTest Device ROOT\SAMPLE\0000 ) WDTF_SIMPLEIO_STRESS_PROC : INFO : - WaitAsyncCompletion(KMDFTest Device ROOT\SAMPLE\0000 ) WDTF_SIMPLE_IO : INFO : - Pour cible : KMDFTest Device ROOT\SAMPLE\0000 aucune interface d’E/S simple n’a été trouvée. WDTF_SIMPLE_IO : INFO : - Pour target :KMDFTest Device ROOT\SAMPLE\0000 WDTF utilise l’interface D’E/S simple ANY. WDTF_SIMPLE_IO : INFO : - Open(KMDFTest Device ROOT\SAMPLE\0000) Try count 1 WDTF_SUPPORT : INFO : - WaitForMinutes : 1 WDTF_SIMPLE_IO : INFO : - PerformIO(KMDFTest Device ROOT\SAMPLE\SAMPLE\0000 ) Count 1 WDTF_SIMPLEIO_STRESS_PROC : INFO : - Terminate(KMDFTest Device ROOT\SAMPLE\0000 )

Pour tester tous les appareils d’une classe d’appareil spécifique :

Par exemple, Class=CDROM teste tous les appareils de la classe CDROM .

Par exemple, ClassGUID= {36fc9e60-c465-11cf-8056-444553540000} teste tous les appareils dont le GUID de classe correspond au GUID spécifié. Dans ce cas, le GUID est destiné à la classe USB.

DoPoolCheck

Vrai ou faux. Surveille l’utilisation du pilote des pools de mémoire système paginés et non paginés à l’aide de balises de pool et de listes de choix. 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.

ChangeBufferProtectionFlags

Vrai ou faux. 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 la protection de page.

DoSimpleIO

Vrai ou faux. Exécute SimpleI/O (s’il est trouvé) sur les appareils de test avant et après avoir effectué des opérations PNP.

DoConcurrentIO

Vrai ou faux. Utilise l’interface d’E/S simultanée WDTF pour envoyer des demandes d’E/S à des piles d’appareils cibles tout en effectuant des opérations PnP.

FillZeroPageWithNull

Vrai ou faux. 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éreferencer le pointeur.

FuzzTestPeriod

Période de test approximative en minutes.

HPU

Spécifie le pourcentage élevé d’utilisation du processeur.

Impersonate

Vrai ou faux. Exécute le test en tant qu’utilisateur sans privilèges d’administrateur.

IOPeriod

Spécifie la période d’E/S en minutes.

IOType

Spécifie le type de test de contrainte d’E/S : SimpleIOStressEx ou SimpleIOStressProc (E/S dans un processus distinct).

Processeur LPU

Spécifie le pourcentage d’utilisation faible du processeur

MaxInBuffer

Spécifie la taille maximale, en octets, des mémoires tampons d’entrée que le test passe au pilote dans les FICHIERS FSCTL (ou IOCTL pour les tests IOCTL).

MinInBuffer

Spécifie la taille minimale, en octets, des mémoires tampons d’entrée que le test passe au pilote dans les FICHIERS FSCTL (ou IOCTL pour les tests IOCTL).

MaxOutBuffer

Spécifie la taille maximale, en octets, des mémoires tampons de sortie que le test passe au pilote dans LES DLL (ou IOCTLs pour les tests IOCTL).

MinOutBuffer

Spécifie la taille minimale, en octets, des mémoires tampons de sortie que le test passe au pilote dans les FICHIERS FSCTL (ou IOCTL pour les tests IOCTL).

MaxRandomCalls

Spécifie le nombre maximal d’appels que les problèmes de test rencontrent.

MaxTailoredCalls

Spécifie le nombre maximal d’appels que le test émet pendant le test aléatoire personnalisé.

MaxDeviceType

Spécifie la valeur maximale du champ DeviceType dans les FSCTLs (ou iocTLs pour les tests IOCTL). La valeur maximale possible est 65535.

MinDeviceType

Spécifie la valeur minimale du champ DeviceType dans les FICHIERS FSCTL (ou IOCTLs pour les tests IOCTL). La valeur minimale possible est 0.

MaxFunctionCode

Spécifie la valeur maximale du champ FunctionCode dans les FSCTLs (ou IOCTLs pour les tests IOCTL). La valeur maximale possible est 4095.

MinFunctionCode

Spécifie la valeur minimale du champ FunctionCode dans les FICHIERS FSCTL (ou IOCTLs pour les tests IOCTL). La valeur minimale possible est 0.

PU

Spécifie le pourcentage d’utilisation du processeur

PingPongPeriod

Spécifie la période de ping-pong en minutes ; temps que le processeur alterne entre les niveaux d’utilisation élevés (HPU) et faible (LPU).

ResumeDelay

Délai (en secondes) après la reprise de l’ordinateur en mode veille et avant le démarrage du cycle d’E/S suivant. Le délai est nécessaire pour permettre aux appareils de restaurer leur état de travail (renouveler l’adresse IP de la carte réseau, etc.).

TestCycles

Spécifie le nombre de cycles de test (itérations) à effectuer.

WDTFREMOTESYSTEM

Ce paramètre n’est requis que si l’appareil testé ou l’un de ses appareils enfants est une carte réseau câblée qui n’a pas d’adresse de passerelle IPv6. Si ce paramètre est requis sur votre réseau, vous devez fournir une adresse IPv6 que la carte réseau de test peut effectuer un test ping pour tester le réseau.

Exemple : fe80 ::78b6:810:9c12:46cd

Wpa2PskAesSsid

Ce paramètre n’est requis que si l’appareil testé ou si 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 la carte Wi-Fi.

Valeur par défaut : kitstestssid

Wpa2PskPassword

Ce paramètre n’est requis que si l’appareil testé ou si l’un de ses appareils enfants est un adaptateur Wi-Fi. Indiquez le mot de passe du réseau WiFi WPA2 AES spécifié à l’aide du paramètre Wpa2PskAesSsid.

Valeur par défaut : mot de passe

Tests utilitaires

Test Description

Afficher les appareils qui ont des plug-ins d’E/S simples WDTF

Paramètres : Aucun

Afficher les appareils avec le vérificateur de pilotes activés

Paramètres : Aucun

Afficher les appareils

Paramètres : Aucun

Vérificateur de pilotes

Test Description

Désactiver le vérificateur de pilote

Désactive le vérificateur de pilote sur l’ordinateur de test.

Paramètres : Aucun

Activer le vérificateur de pilotes

Vous pouvez utiliser ce test pour activer Driver Verifier pour tous les pilotes d’un appareil (ou des appareils) sur l’ordinateur de test.

Paramètres : - Consultez les options du vérificateur de pilotes.