Freigeben über


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

DXGKARG_PRESENT_DISPLAYONLY

DxgkCbNotifyDpc

DxgkCbNotifyInterrupt

DxgkCbPresentDisplayOnlyProgress

DxgkCbQueueDpc

DxgkDdiAddDevice