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