Freigeben über


DXGKDDI_SUBMITCOMMAND Rückruffunktion (d3dkmddi.h)

Die DxgkDdiSubmitCommand-Funktion sendet einen DMA-Puffer an eine der Hardwarebefehlsausführungseinheiten der GPU.

Syntax

DXGKDDI_SUBMITCOMMAND DxgkddiSubmitcommand;

NTSTATUS DxgkddiSubmitcommand(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_SUBMITCOMMAND pSubmitCommand
)
{...}

Parameter

[in] hAdapter

Ein Handle zu einem Kontextblock, der einem Anzeigeadapter zugeordnet ist. Der Display-Miniporttreiber (KMD) hat dieses Handle zuvor für Dxgkrnl im Ausgabeparameter MiniportDeviceContext der DxgkDdiAddDevice-Funktion bereitgestellt.

[in] pSubmitCommand

Ein Zeiger auf eine DXGKARG_SUBMITCOMMAND Struktur, die den DMA-Puffer beschreibt, den die KMD an die Hardwarebefehlsausführungseinheit übermittelt.

Rückgabewert

DxgkDdiSubmitCommand gibt nach erfolgreichem Abschluss STATUS_SUCCESS zurück. Wenn der Treiber stattdessen einen Fehlercode zurückgibt, verursacht das Betriebssystem eine Systemfehlerüberprüfung. Siehe Anmerkungen.

Bemerkungen

DxgkDdiSubmitCommand funktioniert mit physischer Speicheradressierung, während DxgkDdiSubmitCommandVirtual mit virtuellem Speicher aufgerufen wird.

Da Pagingvorgänge als Systemvorgänge betrachtet werden, sind sie keinem bestimmten Anwendungskontext oder Grafikkontext zugeordnet. Daher wird die DxgkDdiSubmitCommand-Funktion mit NULL aufgerufen, wenn die Übermittlung für einen Pagingvorgang verwendet wird, der im hDevice-Element der DXGKARG_SUBMITCOMMAND Struktur angegeben ist, auf die der pSubmitCommand-Parameter verweist.

Wenn die Architektur einer bestimmten Hardware und eines bestimmten Treibers jedoch intern über ein Gerät verfügen muss, muss der Treiber das Gerät intern während der Adapterinitialisierung erstellen und das Gerät intern als Systemstandardgerät für die Verwendung in Auslagerungsvorgängen beibehalten.

Der Treiber kann den Wert schreiben, der im SubmissionFenceId-Element von DXGKARG_SUBMITCOMMAND in den Zaunbefehl im Ringpuffer angegeben wird. Weitere Informationen zu Zaunbefehlen finden Sie unter Supplying Fence Identifiers.

Wenn der Treiber einen Fehlercode zurückgibt, führt Dxgkrnl zu einer Systemfehlerüberprüfung. In einer Absturzabbilddatei wird der Fehler durch die Meldung BugCheck-0x119angegeben, die die folgenden vier Parameter enthält.

  • 0x2 (identifiziert die Ursache des Fehlers)
  • Der vom fehlgeschlagenen Treiberaufruf zurückgegebene NTSTATUS-Fehlercode
  • Ein Zeiger auf die DXGKARG_SUBMITCOMMAND-Struktur
  • Ein Zeiger auf eine interne Planerdatenstruktur

DxgkDdiSubmitCommand- sollte nicht seitenfähig gemacht werden, da sie unter IRQL = DISPATCH_LEVEL ausgeführt wird.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista
Zielplattform- Arbeitsfläche
Header- d3dkmddi.h
IRQL- DISPATCH_LEVEL

Siehe auch

DXGKARG_SUBMITCOMMAND

DxgkDdiAddDevice-

DxgkDdiRender

DxgkDdiSubmitCommandVirtual-