Freigeben über


DMA-Transaktionen und DMA-Übertragungen

[Gilt nur für KMDF]

Um zu verstehen, wie das Framework Bus-master- und Systemmodus-DMA-Vorgänge verarbeitet, müssen Sie die folgenden beiden Begriffe kennen:

DMA-Transaktion
Eine DMA-Transaktion ist ein vollständiger E/A-Vorgang, z. B. eine einzelne Lese- oder Schreibanforderung von einer Anwendung.

DMA-Übertragung
Eine DMA-Übertragung ist ein einzelner Hardwarevorgang, der Daten aus dem Computerspeicher auf ein Gerät oder vom Gerät auf den Computerspeicher überträgt.

Eine einzelne DMA-Transaktion besteht immer aus mindestens einer DMA-Übertragung, aber eine Transaktion kann aus vielen Übertragungen bestehen.

Wenn ein frameworkbasierter Treiber eine E/A-Anforderung empfängt, erstellt der Treiber in der Regel ein einzelnes DMA-Transaktionsobjekt zur Darstellung der Anforderung. Wenn das Framework mit der Wartung der Transaktion beginnt, bestimmt es, ob das Gerät die gesamte Transaktion in einer einzigen Übertragung verarbeiten kann. Wenn die Transaktion zu groß ist, unterbricht das Framework die Transaktion in mehrere Übertragungen.