DF – PNP – Test zum Neuausgleich bei Anforderung neuer Ressourcen für Geräte (Entwicklung und Integration)
Wie beim Entfernungstest versucht die Testanwendung, dem Zielgerätestapel unter Verwendung von SetupDiCallClassInstaller mit DIF_PROPERTYCHANGE einen übergeordneten Filter hinzuzufügen und den Gerätestapel dann neu zu starten. Wenn dieser Versuch nicht erfolgreich ist (d. h., wenn bei der query-remove-IRP an einer Stelle des Zielgerätestapels ein Fehler auftritt), startet der Test den Computer neu, um den Neuausgleich zu testen.
Dieser Test initiiert einen Neuausgleich und ändert auch die Ressourcenanforderung des Geräts, um die Chancen zu maximieren, dass dem Gerät tatsächlich neue Ressourcen zugewiesen werden. Diese Option hilft auch einem Gerät ohne Ressourcen dabei, das komplette Neuausgleichsverfahren zu durchlaufen:
Zunächst wird der einfache Neuausgleich gestartet, wodurch die folgenden IRPs ausgelöst werden:
IRP_MN_QUERY_STOP_DEVICE (setzt voraus, dass diese IRP von allen Treibern erfolgreich erfüllt wurde. Der Test deckt bereits den Fall ab, dass diese IRP nicht erfüllt wurde.)
IRP_MN_QUERY_RESOURCE_REQUIREMENTS
IRP_MN_FILTER_RESOURCE_REQUIREMENTS. Als Reaktion auf diese IRP führt der Filtertreiber beim Durchlaufen nach oben eine Aktion aus, je nachdem, ob das Gerät Ressourcen verbraucht oder nicht:
- Wenn das Gerät nicht über eine Ressourcenanforderung verfügt, weist der Filter eine Pseudoressource zu.
- Wenn das Gerät über eine Ressourcenanforderung verfügt, versucht der Filter, die Ressourcenanforderungsliste so neu zu strukturieren, dass die Wahrscheinlichkeit einer Änderung der aktuellen Zuweisung maximiert wird. Ein Beispiel: Ein Gerät benötigt 2 Byte Arbeitsspeicher zwischen 00 und FF, und dem Gerät ist derzeit 3A-3B zugewiesen. Hier erfolgt die Änderung so, dass die neue Ressourcenanforderung (in der Reihenfolge der Präferenz) wie 00-39 oder 3C-FF oder 3A-3B aussieht. Ähnlich wird vorgegangen, wenn die Ressourcenanforderungsliste des Geräts alternative Anforderungen enthält: Die Reihenfolge wird geändert, sodass die alternative Anforderung weiter oben in der Liste geführt wird.
Jetzt sollte das Gerät das Neuausgleichsverfahren immer erfolgreich abschließen.
IRP_MN_STOP_DEVICE
IRP_MN_START_DEVICE (Die neu zugewiesenen Ressourcen. Wenn Pseudoanforderungen erstellt wurden, werden die neuen Ressourcen für die tatsächlichen Treiber maskiert.)
- Testbinärdatei: Devfund_PnPDTest.dll
- Testmethode: PNPTryStopDeviceRequestNewResourcesAndRestartDevice
Der Supporttest „Deaktivieren des verbesserten Gerätetestens“ (EDT) deinstalliert den Testfiltertreiber (msdmfilt.sys) als Oberfilter auf Geräten, die mithilfe des DQ-Parameters angegeben sind. Dieser Testfilter wird als Teil der Testausführung in dieser Testkategorie installiert
- Binärdatei testen: Devfund_PnPDTest.dll
- Testmethode: DisableEnhancedDeviceTestingSupport
Testdetails
Spezifikationen |
|
Plattformen |
|
Unterstützte Versionen |
|
Voraussichtliche Laufzeit (in Minuten) | 3 |
Kategorie | Szenario |
Zeitüberschreitung (in Minuten) | 45 |
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‘. |
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. Eg: fe80::78b6:810:9c12:46cd |
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 |
MultiDeviceHardwareIdSdelQueryHardwareID | SDEL für mehrere Geräte |
MultiDeviceInstanceIdSdelWDKDeviceID | Geräte-ID des DUT |
DriverVerifierCustomizeConfiguration | Gibt an, dass dieser Test möglicherweise die Einstellungen der Treiberüberprüfung automatisch aktualisieren möchte |
TestCycles | Anzahl der Zyklen, für die der Test ausgeführt werden soll. |
DoSimpleIO | Richtig oder falsch. Führt SimpleIO (sofern vorhanden) auf Testgeräten aus, bevor und nachdem PNP-Operationen durchgeführt werden. |
IOPeriod | Zeitraum in Minuten zum Ausführen von SimpleIO (falls gefunden). |
DoConcurrentIO | Richtig oder falsch. Verwendet die gleichzeitige WDTF-E / A-Schnittstelle, um E / A-Anforderungen an Zielgerätestapel zu senden, während PNP-Operationen ausgeführt werden. |