D3DKMTOutputDuplPresent-Funktion (d3dkmthk.h)

Sendet einen vorhandenen Befehl aus der Desktopduplizierungs-API-Swapchain des Desktop Window Manager (DWM) an das Microsoft DirectX-Grafikkernsubsystem (Dxgkrnl.sys).

Syntax

NTSTATUS D3DKMTOutputDuplPresent(
  [in] const D3DKMT_OUTPUTDUPLPRESENT *unnamedParam1
);

Parameter

[in] unnamedParam1

Ein Zeiger auf eine D3DKMT_OUTPUTDUPLPRESENT-Struktur , die Parameter für den vorliegenden Vorgang beschreibt.

Rückgabewert

Gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
STATUS_SUCCESS Der vorliegende Vorgang wurde erfolgreich ausgeführt.
STATUS_DEVICE_REMOVED Der Grafikkarte wurde beendet oder der Anzeigekontext zurückgesetzt.
STATUS_INVALID_PARAMETER Parameter wurden überprüft und als falsch ermittelt.
STATUS_NO_MEMORY D3DKMTOutputDuplPresent konnte aufgrund von unzureichendem Arbeitsspeicher nicht abgeschlossen werden.
STATUS_GRAPHICS_ALLOCATION_INVALID Der primäre Oberflächenhandle wurde aufgrund einer Änderung des Anzeigemodus ungültig. Wenn der installierbare OpenGL-Clienttreiber (ICD) diesen Fehlercode empfängt, sollte er das primäre Handle erneut öffnen oder neu erstellen, alle Verweise im Befehlspuffer durch das alte Handle durch das neue Handle ersetzen und den Puffer dann erneut übermitteln.
STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE Fehler im Rendergerätekontext, den der hContext-Member von D3DKMT_OUTPUTDUPLPRESENT angibt.
Hinweis: Dieser Fehlercode weist nicht darauf hin, dass ein Timeouterkennungs- und Wiederherstellungsprozess (Timeout Detection and Recovery, TDR) initiiert wurde oder dass die GPU nicht mehr reagiert.
Beispielsweise versetzt das DirectX-Grafikkernsubsystem ein Gerät in einen Fehlerzustand, wenn der Anzeigeminiporttreiber angibt, dass ein von diesem Gerät übermittelter DMA-Puffer einen Fehler verursacht hat, oder wenn der Videospeicher-Manager nicht alle Zuordnungen einblättern konnte, die für einen DMA-Puffer erforderlich sind, auch nach dem Aufteilen des DMA-Puffers. Nachdem sich ein Gerät in einem Fehlerzustand befindet, kann es keine weiteren Vorgänge mehr ausführen und muss zerstört und neu erstellt werden. Der ICD kann die D3DKMTGetDeviceState-Funktion aufrufen, um einen genaueren Grund für den Fehler zu ermitteln.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8
Unterstützte Mindestversion (Server) Windows Server 2012
Zielplattform Universell
Header d3dkmthk.h (einschließlich D3dkmthk.h)
Bibliothek Gdi32.lib
DLL Gdi32.dll

Weitere Informationen

D3DKMTGetDeviceState

D3DKMT_OUTPUTDUPLPRESENT