Einführung in DMA im Windows-Treiberframework

[Gilt nur für KMDF]

Unter Windows 7 und früher unterstützt Kernel-Mode Driver Framework (KMDF) nur Bus-master DMA-Geräte (Direct Memory Access). Solche Geräte enthalten eigene DMA-Controller.

Auf System-on-a-Chip(SoC)-basierten Plattformen, die Windows 8 und höher ausgeführt werden, unterstützt das Framework auch DMA im Systemmodus, bei dem sich mehrere Geräte einen einzelnen Mehrkanal-DMA-Controller teilen.

Die DMA-Unterstützung des Frameworks besteht aus:

  • Eine Reihe von Framework-DMA-Objekten und -Methoden, die Treiber zum Konvertieren von E/A-Anforderungen in DMA-Vorgänge verwenden.

  • Eine Reihe von vom Treiber bereitgestellten Ereignisrückruffunktionen, die das DMA-Verhalten des Geräts konfigurieren, wenn unterschiedliche Ereignisse auftreten.

Das Framework unterstützt sowohl single packet als auch scatter/gather DMA-Übertragungen. Es unterstützt auch die Verwendung allgemeiner Puffer.

Auf SoC-basierten Plattformen, auf denen Windows 8 und höher ausgeführt werden, unterstützt das Framework DMA-Übertragungen im Systemmodus im Einzelpaketmodus. Weitere Informationen finden Sie unter Unterstützung System-Mode DMA.

Das Framework unterstützt keine DMA-Übertragungen im Systemmodus auf PC-basierten Plattformen.

Aktivieren der DMA-Neuzuordnung für Gerätetreiber