Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Alle Windows Display Driver Model (WDDM) 1.2- und höher-Anzeigeminiporttreiber müssen das folgende Verhalten als Reaktion auf Start- und Stoppanforderungen durch die Plug and Play(PnP)-Infrastruktur unterstützen. Das Verhalten kann abhängig davon variieren, ob der Treiber einen Erfolgs- oder Fehlercode zurückgibt oder ob die Systemhardware auf dem grundlegenden Eingabe-/Ausgabesystem (BIOS) oder unified Extensible Firmware Interface (UEFI) basiert.
| Mindestversion von WDDM | 1.2 |
| Mindestversion von Windows | 8 |
| Treiberimplementierung - Vollständige Grafiken und nur Anzeige | Obligatorisch |
| WHCK-Anforderungen und -Tests | Device.Graphics.WDDM12.Display.PnpStopStartSupport |
Miniporttreiber PnP DDI anzeigen
Ab Windows 8 stellt das Microsoft DirectX-Grafik-Kernelsubsystem diese Funktion bereit, die ein Treiber aufrufen kann, wenn das Anzeigegerät aus dem Ruhezustand gestartet oder fortgesetzt wird:
Diese Funktionen und Strukturen sind für den Display-Miniporttreiber verfügbar, um WDDM 1.2 und höhere PnP-Anforderungen zu implementieren:
- DxgkDdiStopDeviceAndReleasePostDisplayOwnership
- DxgkDdiSystemDisplayEnable
- DxgkDdiSystemDisplayWrite
- DXGK_DISPLAY_INFORMATION
PnP-Startvorgang
Ein Plug-and-Play -Startvorgang (PnP) auf dem Anzeigegerät erfolgt entweder während des Starts oder während eines Upgrades von einem Anzeigetreiber auf einen anderen. 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 dem System geladen wurde.
Bei den Aufrufen an die Funktion DxgkDdiSetPowerState, um zum D0-Energiezustand zurückzukehren, und an die Funktion DxgkDdiStartDevice muss der WDDM 1.2- und höhere Treiber die Quellsichtbarkeit auf 'false' (DXGKARG_SETVIDPNSOURCEVISIBILITY.Visible = FALSE) setzen für alle aktiven Video-Präsentationsnetzwerk (VidPN)-Ziele. 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 Aktuell gescannten Oberfläche vorhanden sind. Dies bedeutet, dass die Pixelpipeline garantiert den Monitor mit allen schwarzen Pixeln leert. Wenn der erste Frame später im 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 soll.
| Treiberrücklaufcode | BESCHREIBUNG |
|---|---|
Erfolg |
Das Verhalten ist identisch mit Windows 7. Wenn der Treiber erfolgreich gestartet wird, ist der Framepuffer für ein BIOS-basiertes System weiterhin aktiv, und der Treiber muss bereit sein, einen gültigen Modus festzulegen. |
Versagen |
Für ein BIOS-basiertes System muss der Treiber das System in einem BIOS-kompatiblen Zustand belassen. Für ein UEFI-basiertes 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 bewirkt, dass eine Systemfehlerprüfung auftritt. |
PnP-Stoppvorgang
Ein Plug and Play (PnP) Abbruchvorgang bei dem Anzeigegerät tritt in der Regel 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.Visible = TRUE). Darüber hinaus muss der Treiber ab WDDM 1.2 sicherstellen, dass die Fläche, von der die Pixelpipeline zur Ausgabe programmiert ist, mit schwarzen Pixeln gefüllt ist. Der Treiber sollte die Oberfläche vollständig mit schwarzen Pixeln ausfüllen, bevor die Sichtbarkeit der Quelle auf "true" gesetzt wird.
Achten Sie darauf, auch DxgkDdiStopDevice in Ihrem Treiber zu implementieren. 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 nach einem PnP-Stoppprozess zurückgeben soll.
| Treiberrücklaufcode | 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 Informationen zum gespeicherten Modus müssen nicht mit DEM BIOS kompatibel sein, und der grundlegende Anzeigetreiber bietet erst einen BIOS-Modus an, wenn das System neu gestartet wird. Das Betriebssystem garantiert, dass DxgkDdiStopDevice nicht aufgerufen wird, wenn DxgkDdiStopDeviceAndReleasePostDisplayOwnershipSTATUS_SUCCESS zurückgibt. |
Erfolg und Treiber legen die Elemente "Width " und " Height " der DXGK_DISPLAY_INFORMATION Struktur auf Null fest. |
Dieses Szenario ist nur möglich, wenn das System über zwei Grafikkarten verfügt, keine Monitore mit dem aktuellen Power-On Self-Test (POST)-Gerät 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 Grafikkartenadapter ausgeführt, und der grundlegende Anzeigetreiber wird im Headless-Modus auf dem Adapter ausgeführt, der das POST-Gerät unterstützt. |
Versagen |
Das Betriebssystem ruft die PnP-Stopptreiberschnittstelle im Windows 7-Stil über die DxgkDdiStopDevice-Funktion auf. Für ein BIOS-basiertes System muss der Treiber die Anzeige in einen BIOS-kompatiblen Modus festlegen. Für ein UEFI-basiertes System wird der grundlegende Anzeigetreiber im kopflosen Modus auf dem Grafikkartenadapter ausgeführt. |
Weitere Anforderungen an 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 Überprüfung der mit Windows 8 hinzugefügten Features finden Sie unter WDDM 1.2-Features .