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.
Jeder Treiber, der direkte E/A und DMA verwendet, muss ein Adapterobjekt erstellen. Das Adapterobjekt stellt entweder einen DMA-Controllerkanal oder -Port oder ein Bus-master-Gerät dar.
Zwei Arten von Treibern der niedrigsten Ebene müssen Adapterobjekte verwenden:
Treiber für Geräte, die den DMA-Controller des Systems verwenden. Solche Geräte werden als untergeordnete Geräte bezeichnet und als "System(oder untergeordnetes) DMA" bezeichnet.
Treiber für Geräte, bei denen es sich um Bus-master-Adapter handelt. Solche Geräte sind mit dem System für die Verwendung des E/A-Busses in Schied und verwenden daher bus-master DMA.
Treiber stellen Speicher bereit, normalerweise in einer Geräteerweiterung, für einen Zeiger auf das Adapterobjekt.
Zum Durchführen von DMA-Übertragungen verfügen Treiber von Geräten, die eine dieser DMA-Methoden verwenden, in der Regel über eine AdapterControl-Routine und rufen vom System bereitgestellte Supportroutinen auf, die Adapterobjekte bearbeiten. (Treiber, die keine AdapterControl-Routinen erfordern, umfassen solche, die scatter/gather DMA verwenden, und solche, die common-buffer, bus-master DMA verwenden.)
Im Rahmen von Gerätestartvorgängen rufen Treiber, die DMA-Vorgänge verarbeiten, den E/A-Manager auf, der wiederum die plattformspezifische HAL aufruft, um eine Reihe von Adapterobjekten zu erstellen. Auf jeder Windows-Plattform enthält der Satz von Adapterobjekten in der Regel ein Adapterobjekt für:
Jeder DMA-Controllerkanal oder -Port des Systems, an den ein untergeordnetes Gerät angefügt ist.
Jedes Bus-master DMA-Gerät auf dem Computer.
(Für SCSI-Geräte, die bus-master DMA verwenden können, richtet der SCSI-Porttreiber Adapterobjekte für HBA-spezifische SCSI-Miniporttreiber ein. Die HwScsiFindAdapter-Routine des Miniporttreibers versorgt den Porttreiber mit adapterspezifischen Daten.)
Weitere Informationen dazu, wann und wie Treiber Adapterobjekte und AdapterControl-Routinen verwenden, finden Sie unter Verwenden von Bus-Master DMA.