DXGKDDI_PRESENTDISPLAYONLY Rückruffunktion (d3dkmddi.h)
Stellt das Bildschirmbild auf dem Anzeigegerät eines Nur-Kernelmodus-Treibers (KMDOD) dar.
Syntax
DXGKDDI_PRESENTDISPLAYONLY DxgkddiPresentdisplayonly;
NTSTATUS DxgkddiPresentdisplayonly(
IN_CONST_HANDLE hAdapter,
IN_CONST_PDXGKARG_PRESENT_DISPLAYONLY pPresentDisplayOnly
)
{...}
Parameter
hAdapter
Ein Handle für den Gerätekontext für den Displayadapter. Die DxgkDdiAddDevice-Funktion von KMDOD hat diesen Handle zuvor im MiniportDeviceContext Parameter zurückgegeben.
pPresentDisplayOnly
Ein Zeiger auf eine DXGKARG_PRESENT_DISPLAYONLY Struktur, die Informationen zum aktuellen Vorgang enthält.
Rückgabewert
Gibt einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
STATUS_SUCCESS | Der aktuelle Vorgang wurde erfolgreich abgeschlossen. |
STATUS_PENDING | Der aktuelle Vorgang wurde an die Software- oder Hardwarewarteschlange gesendet, um den Vorgang abzuschließen. In diesem Fall sollte der KMDOD einen Interrupt- und verzögerten Prozeduraufruf (DPC) verwenden, um den Fortschritt des aktuellen aktuellen Vorgangs zu melden. Andernfalls verwendet das Betriebssystem den Timeout Detection and Recovery (TDR) Prozess, der einen Fehler meldet und erfordert, dass die KMDOD sich selbst neu initialisieren und die GPU zurücksetzen muss. Beachten Sie, dass dieser Statuscode nicht für den synchronen Modus zurückgegeben werden sollte, wie in den Anmerkungen beschrieben. |
Der Treiber kann auch einen anderen Fehlerstatuscode zurückgeben, der in Ntstatus.h definiert ist, um Probleme anzugeben, die mit dem aktuellen Vorgang aufgetreten sind.
Bemerkungen
Der KMDOD muss alle Bildschirm-zu-Bildschirm-Verschiebungen abschließen, bevor schmutzige Rechtecke kopiert werden. Darüber hinaus muss der KMDOD jeden Verschiebungs-/Kopiervorgang abschließen, bevor ein anderer Verschiebungs-/Kopiervorgang beginnt.
Das Betriebssystem unterstützt zwei Modi von KMDOD-Vorgängen: synchron und asynchron. Je nach Hardware- und Treiberimplementierung kann der KMDOD den Modus verwenden oder jederzeit zwischen diesen wechseln.
Das Betriebssystem garantiert, dass diese Funktion dem Synchronisierungsmodus auf Nullebene folgt, wie in Threading- und Synchronisierung zero Leveldefiniert.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 8 |
mindestens unterstützte Server- | Windows Server 2012 |
Zielplattform- | Desktop |
Header- | d3dkmddi.h |
IRQL- | PASSIVE_LEVEL |
Siehe auch
DXGKARGCB_NOTIFY_INTERRUPT_DATA