Freigeben über


Auswählen und Konfigurieren der Gerätegrundlagentests

WdK für Windows 8 stellt ein Treibertestframework bereit, das eine Reihe von Tests enthält, die als Gerätegrundsätze bezeichnet werden. Die Gerätegrundwerte-Tests sind eine Sammlung von Tests, die sowohl intern bei Microsoft zum Testen der Treiber und Treiberbeispiele verwendet werden, die mit Windows und WDK ausgeliefert werden, als auch extern als Teil des Windows-Zertifizierungsprogramms für Hardware. Sie können die Tests aus Ihrer Entwicklungsumgebung ausführen. Wenn Sie die Tests ausführen, können Sie dieselben Parameter verwenden, die für Windows-Zertifizierungstests verwendet werden, oder Sie können die Laufzeitparameter entsprechend Ihren Test- und Debuganforderungen konfigurieren und anpassen.

Optimale Nutzung der Grundlagentests für Geräte

Um die Vorteile der Gerätegrundwerte-Tests optimal nutzen zu können, muss Ihr Gerät von den Standardmäßig-E/A-Plug-Ins unterstützt werden. Informationen dazu, ob Ihr Gerätetyp unterstützt wird und ob bestimmte Testanforderungen bestehen, finden Sie in den bereitgestellten WDTF Simple I/O-Plug-Ins. Der Test "Gerätegrundsätze" enthält auch ein Hilfsprogramm, mit dem Sie Ihr Gerät testen können, um festzustellen, ob es unterstützt wird. Wenn Ihr Gerät nicht unterstützt wird, können Sie ein WDTF Simple I/O-Plug-In erstellen. in Visual Studio. Weitere Informationen finden Sie unter Anpassen von E/A für Ihr Gerät mithilfe des WDTF Simple I/O Action Plug-Ins.

Informationen zu den Grundlagentests für Geräte

Der WDK stellt die Gerätegrundlagentests in zwei Konfigurationen bereit: "Basic" und "Certification". In beiden Konfigurationen können Sie die Testparameter bearbeiten, um die Länge des Tests, die Anzahl der auszuführenden Testzyklen und andere Testparameter zu variieren, je nachdem, wie Sie die zielbezogenen Geräte oder Treiber testen möchten. Die Standardkonfiguration ist für allgemeine Treiber- und Gerätetests und Das Debuggen vorgesehen. Verwenden Sie die Standardkonfiguration frühzeitig und während des gesamten Entwicklungszyklus. Die Tests in der Basic-Konfiguration weisen die gleichen Einstellungen auf, die bei den Windows-Zertifizierungstests verwendet werden, mit Ausnahme einer kürzeren Laufzeit. In der Zertifizierungskonfiguration weisen die Tests die gleichen Einstellungen auf, die bei den Windows-Zertifizierungstests verwendet werden. Verwenden Sie die Zertifizierungskonfiguration, um die Bereitschaft zum Testen Ihres Geräts oder Treibers für das Windows-Zertifizierungsprogramm für Hardware zu überprüfen.

Die Grundlagentests für Geräte umfassen Tests in den folgenden Kategorien.

Festlegen der Laufzeittestparameter

Sie können die Laufzeitparameter für viele der Gerätegrundwerte-Tests bearbeiten. Im Fenster "Treibertestgruppe" weist ein Pfeil (») neben einem Testnamen darauf hin, dass der Test Parameter enthält, die Sie ändern können. Wählen Sie den Pfeil (») aus, um die Laufzeitparameter anzuzeigen.

Einer der nützlichsten Parameter ist DQ, der das zu testende Zielgerät angibt. Der Standardwert (IsDevice) testet alle Geräte auf dem Zielcomputer. Der DQ-Parameter akzeptiert eine WDTF-SDEL-Abfrage, die die Zielgeräte identifiziert. Sie können ein bestimmtes Gerät zum Testen angeben, z. B.:

DeviceID='USB\ROOT_HUB\4&1CD5D022&0' wählt nur das Gerät zum Testen mit der angegebenen DeviceID aus.

Weitere Informationen zu DQ und den anderen Laufzeitparametern finden Sie unter Device Fundamentals test parameters.

Testparameter für Gerätegrundwerte

Parameter Beschreibung

DQ

Identifiziert das Gerät oder die Geräte, die zum Testen verwendet werden sollen. Der DQ-Parameter akzeptiert eine WDTF-SDEL-Abfrage, die die Zielgeräte identifiziert. Diese Abfrage kann sehr flexibel sein und kann verwendet werden, um eine beliebige Anzahl von Geräten auszudrücken, von einem einzelnen Gerät bis zu allen Geräten im System.

Typische Beispiele:

So testen Sie alle Geräte, die mit einer bestimmten INF-Datei installiert wurden:

INF::FileName=INF_File_Name

Beispiel: INF::OriginalInfFileName='KMDFTest.inf'

Inf::OriginalInFileName kann mit jeder BELIEBIGEN INF verwendet werden.

So testen Sie ein Gerät mit einer bestimmten Geräte-ID:

DeviceId='DeviceId'

Beispiel: DeviceID='USB\ROOT_HUB\4&1CD5D022&0'

So testen Sie ein Gerät mit einer bestimmten Schnittstelle:

Schnittstellen::InterfaceGUID

So testen Sie ein Gerät mit einem bestimmten Treiberbuchstaben:

Volume::D riverLetter='DriveLetter'

Beispiel: Volume::D riverLetter='c:\'

So testen Sie ein Gerät mit einem bestimmten Treiber:

DriverBinaryNames=mydriver.sys

Dabei ist KMDFTest.inf der zum Installieren des Treibers verwendete Inf. Sie können auch das Folloiwng-Ziel für die Geräte verwenden, die KMDFTest.sys Treiber verwenden.

(DriverBinaryNames='KMDFTest.sys') funktioniert.

Nach dem ordnungsgemäßen Festlegen der SDEL sollte beim Ausführen eines Tests die folgende Ausgabe auf der Konsole angezeigt werden.

WDTF_TARGETS : INFO : - Query("IsDevice AND ((Inf::OriginalInfFileName='KMDFTest.inf')") WDTF_TARGETS : INFO : Target: KMDFTest Device ROOT\SAMPLE\0000 WDTF_TEST : INFO: WARNUNG: Der Test erzwingt nicht, dass die Treiberüberprüfung aktiviert ist. WDTF_TEST : INFO : DV ist mit Flag:=0x209bb WDTF_TEST aktiviert: INFO : DV ist erfolgreich für alle Treiber dieses Devnode(UniqueTargetName):=KMDFTest Device ROOT\SAMPLE\0000 WDTF_TARGET : INFO : - GetInterface("Support") WDTF_TARGET : INFO : INFO : : Ziel: DESKTOP-2OVFH3G WDTF_TARGETS : INFO : - Query("IsDevice") WDTF_TARGETS : INFO : Ziel: KMDFTest Device ROOT\SAMPLE\0000 WDTF_TARGETS : INFO : - GetRelations("below-or-self/", "IsDevice") WDTF_TARGETS : INFO : Ziel: KMDFTest Device ROOT\SAMPLE\0000 WDTF_TARGETS : INFO : - GetInterfacesIfExist("SimpleIOStressProc") WDTF_SIMPLE_IO : INFO : - Für Target:KMDFTest Device ROOT\SAMPLE\0000 wurde keine einfache IO-Schnittstelle gefunden. WDTF_SIMPLE_IO : INFO : - Für Target:KMDFTest Device ROOT\SAMPLE\0000 WDTF wird die ANY Simple IO Interface verwendet.

Weitere Informationen finden Sie unter "Konfigurations- und Protokolldateien mit angefügten Dateien". WDTF_TARGETS : INFO: ZIEL: KMDFTest Device ROOT\SAMPLE\0000 WDTF_TEST : INFO: Durchführen von 1 Zyklus der E/A-Beendigung WDTF_TEST : INFO : E/A-Beendigungszyklus #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: - Für Ziel: KMDFTest Device ROOT\SAMPLE\0000 keine einfache IO-Schnittstelle gefunden. WDTF_SIMPLE_IO : INFO : - Für Target:KMDFTest Device ROOT\SAMPLE\0000 WDTF wird die ANY Simple IO Interface verwendet. 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\0000 ) Count 1 WDTF_SIMPLEIO_STRESS_PROC : INFO : - Terminate(KMDFTest Device ROOT\SAMPLE\0000 ) Prozess

So testen Sie alle Geräte einer bestimmten Geräteklasse:

Beispielsweise würde Class=CDROM alle Geräte der Klasse CDROM testen.

Beispielsweise würde ClassGUID= {36fc9e60-c465-11cf-8056-444553540000} alle Geräte testen, deren Klassen-GUID mit der angegebenen GUID übereinstimmt. In diesem Fall ist die GUID für die USB-Klasse.

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.

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.

DoSimpleIO

Richtig oder falsch. Führt SimpleI/O (sofern gefunden) auf Testgeräten vor und nach dem Ausführen von PNP-Vorgängen aus.

DoConcurrentIO

Richtig oder falsch. Verwendet wdTF-parallele E/A-Schnittstelle, um E/A-Anforderungen an Zielgerätestapel zu senden, während PnP-Vorgänge ausgeführt werden.

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 der Zeiger abgeleitet wird.

FuzzTestPeriod

Fuzz-Testzeitraum in Minuten.

HPU

Gibt den Prozentsatz der hohen Prozessorauslastung an.

Impersonate

Richtig oder falsch. Führt den Test als Benutzer ohne Administratorrechte aus.

IOPeriod

Gibt den E/A-Zeitraum in Minuten an.

IOType

Gibt den Typ des E/A-Stresstests an: SimpleIOStressEx oder SimpleIOStressProc (E/A in einem separaten Prozess).

LPU

Gibt den Prozentsatz der niedrigen Prozessorauslastung an.

MaxInBuffer

Gibt die maximale Größe der Eingabepuffer in Bytes an, die der Test an den Treiber in FSCTLs (oder IOCTLs für IOCTL-Tests) bestanden hat.

MinInBuffer

Gibt die Mindestgröße der Eingabepuffer in Bytes an, die der Test an den Treiber in FSCTLs (oder IOCTLs für IOCTL-Tests) übergibt.

MaxOutBuffer

Gibt die maximale Größe der Ausgabepuffer in Bytes an, die der Test an den Treiber in FSCTLs (oder IOCTLs für IOCTL-Tests) bestanden hat.

MinOutBuffer

Gibt die Mindestgröße der Ausgabepuffer in Bytes an, die der Test an den Treiber in FSCTLs (oder IOCTLs für IOCTL-Tests) übergibt.

MaxRandomCalls

Gibt die maximale Anzahl von Aufrufen an, die der Test ausgibt.

MaxTailoredCalls

Gibt die maximale Anzahl von Aufrufen an, die der Test während des angepassten Zufallstests ausgibt.

MaxDeviceType

Gibt den Maximalwert des DeviceType-Felds in den FSCTLs (oder IOCTLs für IOCTL-Tests) an. Der größtmögliche Wert ist 65.535.

MinDeviceType

Gibt den Minimalwert des DeviceType-Felds in den FSCTLs (oder IOCTLs für IOCTL-Tests) an. Der kleinstmögliche Wert ist 0.

MaxFunctionCode

Gibt den Maximalwert des FunctionCode-Felds in den FSCTLs (oder IOCTLs für IOCTL-Tests) an. Der größtmögliche Wert ist 4.095.

MinFunctionCode

Gibt den Minimalwert des FunctionCode-Felds in den FSCTLs (oder IOCTLs für IOCTL-Tests) an. Der kleinstmögliche Wert ist 0.

PU

Gibt den Prozentsatz der Prozessorauslastung an.

PingPongPeriod

Gibt den Ping-Pong-Zeitraum in Minuten an; die Zeit, die der Prozessor zwischen hoher (HPU) und niedriger Prozessorauslastung (LPU) wechselt.

ResumeDelay

Die Verzögerungszeit (in Sekunden), nachdem der Computer aus dem Energiesparmodus fortgesetzt wurde und bevor der nächste E/A-Zyklus gestartet wird. Die Verzögerungszeit ist erforderlich, damit Geräte ihren Arbeitsstatus wiederherstellen können (verlängern Sie die IP-Adresse für die Netzwerkkarte usw.).

TestCycles

Gibt die Anzahl der auszuführenden Testzyklen (Iterationen) an.

WDTFREMOTESYSTEM

Dieser Parameter ist nur erforderlich, wenn das Gerät, das getestet wird, oder eines seiner untergeordneten Geräte, ein kabelgebundener Netzwerkadapter ist, der keine IPv6-Gatewayadresse enthält. Wenn dieser Parameter in Ihrem Netzwerk erforderlich ist, müssen Sie eine IPv6-Adresse angeben, die der Testnetzwerkadapter zum Testen des Netzwerks anpingen kann.

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

Wpa2PskAesSsid

Dieser Parameter ist nur erforderlich, wenn das gerät unter Test oder eines seiner untergeordneten Geräte ein WLAN-Adapter ist. Stellen Sie die SSID eines WPA2 AES-WLAN-Netzwerks bereit, das der Test zum Testen des WLAN-Adapters verwenden kann.

Standardwert: kitstestssid

Wpa2PskPassword

Dieser Parameter ist nur erforderlich, wenn das gerät unter Test oder eines seiner untergeordneten Geräte ein WLAN-Adapter ist. Geben Sie das Kennwort des WPA2 AES-WLAN-Netzwerks an, das mithilfe des Wpa2PskAesSsid-Parameters angegeben wird.

Standardwert: Kennwort

Hilfsprogrammtests

Testen Beschreibung

Anzeigen von Geräten mit WDTF Simple I/O-Plug-Ins

Parameter: Keine

Anzeigen von Geräten mit aktivierter Treiberüberprüfung

Parameter: Keine

Geräte anzeigen

Parameter: Keine

Driver Verifier

Testen Beschreibung

Treiberüberprüfung deaktivieren

Deaktiviert die Treiberüberprüfung auf dem Testcomputer.

Parameter: Keine

Treiberüberprüfung aktivieren

Mit diesem Test können Sie die Treiberüberprüfung für alle Treiber eines Geräts (oder Geräte) auf dem Testcomputer aktivieren.

Parameter: - Siehe Treiberüberprüfungsoptionen.