DXGKDDI_PATCH Rückruffunktion (d3dkmddi.h)
Die DxgkDdiPatch-Funktion weist dem angegebenen DMA-Puffer (Direct Memory Access) physische Adressen zu, bevor der DMA-Puffer an die Grafikhardware übermittelt wird.
Syntax
DXGKDDI_PATCH DxgkddiPatch;
NTSTATUS DxgkddiPatch(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARG_PATCH pPatch
)
{...}
Parameter
[in] hAdapter
Ein Handle für einen Kontextblock, der einer Grafikkarte zugeordnet ist. Der Anzeige-Miniporttreiber hat dieses Handle zuvor für das Microsoft DirectX-Grafikkernsubsystem im Ausgabeparameter MiniportDeviceContext der DxgkDdiAddDevice-Funktion bereitgestellt.
[in] pPatch
Ein Zeiger auf eine DXGKARG_PATCH-Struktur , die den DMA-Puffer beschreibt, der mit physischen Adressen gepatcht werden soll.
Rückgabewert
Gibt nach erfolgreichem Abschluss STATUS_SUCCESS zurück. Wenn der Treiber stattdessen einen Fehlercode zurückgibt, verursacht das Betriebssystem eine Systemfehlerprüfung. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
Hinweise
Die DxgkDdiPatch-Funktion muss dem DMA-Puffer physische Adressen zuweisen. Wenn der Anzeige-Miniporttreiber den DMA-Puffer generiert, muss der Treiber daher sicherstellen, dass im DMA-Puffer Speicherplatz verfügbar ist, um Anweisungen einzufügen, die für die Verarbeitung physischer Adressen erforderlich sind. Beachten Sie, dass physische Adressen dem Videospeicher, dem AGP-/PCI-Express-Speicher oder dem Systemspeicher entsprechen können.
Der Treiber muss die angegebene Patchspeicherortliste im pPatchLocationList-Element der DXGKARG_PATCH Struktur untersuchen, auf die vom pPatch-Parameter verwiesen wird, um Orte im DMA-Puffer zu identifizieren, die mit physischen Adressen gepatcht werden müssen. Die angegebene Zuordnungsliste (die vom pAllocationList-Element von DXGKARG_PATCH angegeben wird) enthält auch die physischen Adressen, die vom Videospeicher-Manager generiert werden. Der Aufruf der DxgkDdiPatch-Funktion des Treibers ist die letzte Gelegenheit für den Treiber, den Inhalt des DMA-Puffers zu ändern, bevor der DMA-Puffer an die Grafikverarbeitungseinheit (GPU) übermittelt wird. Beachten Sie, dass der Treiber einen DMA-Puffer in Szenarien, in denen der DMA-Puffer vorzeitig entfernt wird, mehrmals patchen kann.
Der Treiber kann den Wert, der im SubmissionFenceId-Element von DXGKARG_PATCH angegeben wird, in den Fence-Befehl am Ende des DMA-Puffers patchen. Weitere Informationen zu diesem Member finden Sie unter Bereitstellen von Zaunbezeichnern.
Wenn der Treiber einen Fehlercode zurückgibt, führt das Microsoft DirectX-Grafikkernsystem zu einer Systemfehlerüberprüfung. In einer Absturzabbilddatei wird der Fehler durch die Meldung BugCheck 0x119 mit den folgenden vier Parametern notiert.
- 0x3
- Ein Zeiger auf eine interne Planerdatenstruktur
- Ein Zeiger auf eine interne Planerdatenstruktur
- Ein Zeiger auf eine interne Planerdatenstruktur
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista |
Zielplattform | Desktop |
Kopfzeile | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |