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 zu einem Kontextblock, der einem Anzeigeadapter zugeordnet ist. Der Display-Miniporttreiber, der zuvor dieses Handle für das Microsoft DirectX-Grafikkernsubsystem im MiniportDeviceContext Ausgabeparameter des DxgkDdiAddDevice--Funktion bereitgestellt hat.
[in] pPatch
Ein Zeiger auf eine DXGKARG_PATCH-Struktur, die den DMA-Puffer beschreibt, der mit physischen Adressen gepatcht werden soll.
Rückgabewert
Gibt STATUS_SUCCESS nach erfolgreichem Abschluss zurück. Wenn der Treiber stattdessen einen Fehlercode zurückgibt, verursacht das Betriebssystem eine Systemfehlerüberprüfung. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
Bemerkungen
Die DxgkDdiPatch--Funktion muss dem DMA-Puffer physische Adressen zuweisen. Wenn der Anzeige-Miniporttreiber den DMA-Puffer generiert, muss der Treiber daher sicherstellen, dass der Speicherplatz im DMA-Puffer verfügbar ist, um Anweisungen einzufügen, die zum Verarbeiten 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 bereitgestellte Patch-Location-Liste in der pPatchLocationList Mitglied 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 durch die pAllocationList Mitglied von DXGKARG_PATCH angegeben wird) enthält auch die physischen Adressen, die der Videospeicher-Manager generiert. Der Aufruf der DxgkDdiPatch--Funktion des Treibers ist die letzte Möglichkeit, 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 vorab gepatcht wird, mehrmals patchen kann.
Der Treiber kann den Wert patchen, der im SubmissionFenceId Member von DXGKARG_PATCH am Ende des DMA-Puffers in den Zaunbefehl bereitgestellt wird. Weitere Informationen zu diesem Mitglied finden Sie unter Supplying Fence Identifiers.
Wenn der Treiber einen Fehlercode zurückgibt, verursacht das Microsoft DirectX-Grafik-Kernelsubsystem eine Systemfehlerüberprüfung. In einer Absturzabbilddatei wird der Fehler durch die Meldung BugCheck-0x119angegeben, die die folgenden vier Parameter enthält.
- 0x3
- Ein Zeiger auf eine interne Planerdatenstruktur
- Ein Zeiger auf eine interne Planerdatenstruktur
- Ein Zeiger auf eine interne Planerdatenstruktur
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista |
Zielplattform- | Desktop |
Header- | d3dkmddi.h |
IRQL- | PASSIVE_LEVEL |