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.
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 |