Share via


Plug & Play (PnP) in WDDM 1.2 und höher

Alle Windows Display Driver Model (WDDM) 1.2 und höher Display-Miniporttreiber müssen das folgende Verhalten als Reaktion auf Start- und Stoppanforderungen durch die PnP-Infrastruktur (Plug & Play) unterstützen. Das Verhalten kann sich unterscheiden, je nachdem, ob der Treiber einen Erfolgs- oder Fehlercode zurückgibt oder ob die Systemhardware auf dem grundlegenden Ein-/Ausgabesystem (BIOS) oder der Unified Extensible Firmware Interface (UEFI) basiert.

WDDM-Mindestversion 1.2
Windows-Mindestversion 8
Treiberimplementierung– Nur vollständige Grafiken und Anzeige Obligatorisch.
WHCK-Anforderungen und -Tests

Device.Graphics.WDDM12.Display.PnpStopStartSupport

Miniporttreiber PnP DDI anzeigen

Ab Windows 8 stellt das Microsoft DirectX-Grafikkernsubsystem diese Funktion bereit, die ein Treiber aufrufen kann, wenn das Anzeigegerät gestartet oder aus dem Ruhezustand fortgesetzt wird:

Diese Funktionen und Strukturen sind für den Anzeigeminiporttreiber verfügbar, um die PnP-Anforderungen von WDDM 1.2 und höher zu implementieren:

PnP-Startvorgang

Ein Plug & Play -Startvorgang (PnP) auf dem Anzeigegerät tritt entweder während des Startvorgangs oder während eines Upgrades von einem Anzeigetreiber auf einen anderen auf. In diesem Fall muss der Treiber die DxgkCbAcquirePostDisplayOwnership-Funktion aufrufen, um Informationen zum Framepuffer abzurufen und die Anzeigesynchronisierung aufrechtzuerhalten. Framepufferinformationen werden entweder von der Firmware oder vom vorherigen WDDM 1.2- und höher-Treiber bereitgestellt, der auf das System geladen wurde.

Während aufruft das Betriebssystem die DxgkDdiSetPowerState-Funktion , um in den D0-Energiezustand zurückzukehren, und zur DxgkDdiStartDevice-Funktion muss der WDDM 1.2- und höher-Treiber die Quellsichtbarkeit auf false (DXGKARG_SETVIDPNSOURCEVISIBILITY) festlegen.Visible = FALSE) für alle aktiven VidPN-Ziele (Video Present Network) In diesem Fall muss die Hardware der Anzeigepipeline Synchronisierungssignale mit dem Monitor beibehalten, aber die Pipeline muss weiterhin Schwarze Pixeldaten an den Monitor senden, unabhängig davon, welche Pixeldaten auf der Gerade gescannten Oberfläche vorhanden sind. Dies bedeutet, dass die Pixelpipeline garantiert den Monitor mit allen schwarzen Pixeln leert. Wenn später der erste Frame in den Framepuffer gerendert wird, legt das Betriebssystem die Quellsichtbarkeit auf true fest.

Alle diese Verfahren halten den Monitor synchronisiert und stellen sicher, dass der Benutzer keine Blitze oder Flacker auf dem Bildschirm sieht.

Dies sind die Rückgabecodes, die der Treiber nach einem PnP-Startvorgang zurückgeben sollte.

Treiberrückgabecode BESCHREIBUNG

Erfolg

Das Verhalten ist identisch mit windows 7.

Wenn der Treiber bei einem BIOS-basierten System erfolgreich gestartet wird, ist der Framepuffer weiterhin aktiv, und der Treiber muss bereit sein, um auf einen gültigen Modus festzulegen.

Fehler

Bei einem BIOS-basierten System muss der Treiber das System in einem BIOS-kompatiblen Zustand belassen.

Bei einem UEFI-basierten System muss der Treiber die Anzeige im gleichen Modus belassen, der vom UEFI Graphics Output Protocol (GOP) festgelegt wurde, damit der grundlegende Anzeigetreiber die Anzeige verwenden kann. Der Treiber muss einen gültigen Fehlercode zurückgeben. Wenn der Treiber den GOP nicht in einem Zustand belassen kann, der vom grundlegenden Anzeigetreiber verwendet werden kann, muss der Treiber den STATUS_GRAPHICS_STALE_MODESET Fehlercode von Ntstatus.h zurückgeben, und das Betriebssystem verursacht eine Systemfehlerüberprüfung.

PnP-Vorgang beenden

Ein Plug & Play (PnP)-Prozess zum Beenden des Anzeigegeräts tritt normalerweise auf, wenn ein Treiber auf eine neue Version aktualisiert wird. In diesem Fall ruft das Betriebssystem die DxgkDdiStopDeviceAndReleasePostDisplayOwnership-Funktion des Treibers auf, was erfordert, dass der Treiber genaue Framepufferinformationen bereitstellt.

Im DxgkDdiStopDeviceAndReleasePostDisplayOwnership-Aufruf muss der Treiber sicherstellen, dass die Quellsichtbarkeit für die aktiven VidPn-Ziele true (DXGKARG_SETVIDPNSOURCEVISIBILITY) ist.Sichtbar = TRUE). Darüber hinaus muss der Treiber ab WDDM 1.2 sicherstellen, dass die Oberfläche, aus der die Pixelpipeline zum Scannen programmiert ist, mit schwarzen Pixeln gefüllt ist. Der Treiber sollte die Befüllung der Oberfläche mit schwarzen Pixeln abschließen, bevor die Quellsicht auf TRUE festgelegt wird.

Implementieren Sie dxgkDdiStopDevice auch in Ihrem Treiber. In einigen Fällen ruft das Betriebssystem möglicherweise DxgkDdiStopDevice anstelle von DxgkDdiStopDeviceAndReleasePostDisplayOwnership auf, oder nachdem ein Aufruf von DxgkDdiStopDeviceAndReleasePostDisplayOwnership fehlschlägt.

Dies sind die Rückgabecodes, die der Treiber zurückgeben sollte, nachdem ein PnP-Prozess beendet wurde.

Treiberrückgabecode BESCHREIBUNG

Erfolgreich, und der Treiber gibt Modusinformationen zurück.

Bevor der Treiber beendet wird, muss er einen Framepuffer mit der aktuellen Auflösung einrichten, den der grundlegende Anzeigetreiber verwenden kann, und der Treiber muss diese Informationen zurückgeben, wenn das Betriebssystem die DxgkDdiStopDeviceAndReleasePostDisplayOwnership-Funktion aufruft. Die gespeicherten Modusinformationen müssen nicht mit dem BIOS kompatibel sein, und der grundlegende Anzeigetreiber bietet erst dann einen BIOS-Modus, wenn das System neu gestartet wird.

Das Betriebssystem garantiert, dass dxgkDdiStopDevice nicht aufgerufen wird, wenn DxgkDdiStopDeviceAndReleAsePostDisplayOwnershipSTATUS_SUCCESS zurückgibt.

Erfolgreich, und der Treiber legt die Elemente Breite und Höhe der DXGK_DISPLAY_INFORMATION-Struktur auf 0 fest.

Dieses Szenario ist nur möglich, wenn das System über zwei Grafikkarten verfügt, keine Monitore mit dem aktuellen POST-Gerät (Power-On Self-Test) verbunden sind und das Betriebssystem die DxgkDdiStopDeviceAndReleasePostDisplayOwnership-Funktion aufruft, um das POST-Gerät zu beenden.

In diesem Fall wird die aktuelle Anzeige weiterhin auf dem zweiten Grafikkarten ausgeführt, und der grundlegende Anzeigetreiber wird im headless-Modus auf dem Adapter ausgeführt, der das POST-Gerät unterstützt.

Fehler

Das Betriebssystem ruft die PnP-Stopptreiberschnittstelle im Windows 7-Stil über die DxgkDdiStopDevice-Funktion auf.

Bei einem BIOS-basierten System muss der Treiber die Anzeige in einen BIOS-kompatiblen Modus versetzen.

Bei einem UEFI-basierten System wird der grundlegende Anzeigetreiber im kopflosen Modus auf dem Grafikkarten ausgeführt.

Weitere Anforderungen für PnP und andere Zustandsübergänge finden Sie unter Bereitstellen nahtloser Zustandsübergänge in WDDM 1.2 und höher.

Hardwarezertifizierungsanforderungen

Informationen zu den Anforderungen, die Hardwaregeräte erfüllen müssen, wenn sie dieses Feature implementieren, finden Sie in der entsprechenden WHCK-Dokumentation unter Device.Graphics.WDDM12.Display.PnpStopStartSupport.

Eine Übersicht über features, die mit Windows 8 hinzugefügt wurden, finden Sie unter WDDM 1.2-Features.