Az adapterobjektumok bemutatása

Minden közvetlen I/O- és DMA-t használó illesztőprogramnak létre kell hoznia egy adapterobjektumot. Az adapterobjektum egy DMA-vezérlőcsatornát vagy portot, vagy egy busz-főeszközt jelöl.

A legalacsonyabb szintű illesztőprogramoknak kétféleképpen kell adapterobjektumokat használniuk:

  • A rendszer DMA-vezérlőt használó eszközök illesztőprogramjai. Az ilyen eszközöket alárendelt eszközöknek nevezik, és azt mondják, hogy a rendszer (vagy alárendelt) DMA-t használják.

  • Busz-főadaptert használó eszközök illesztőprogramjai. Az ilyen eszközök a rendszerrel versengenek az I/O-busz használatáért, és így buszmester DMA-t használnak.

Az illesztőprogramok általában egy eszközbővítményben biztosítják a tárterületet az adapterobjektumra mutató mutatóhoz.

A DMA-átvitelek végrehajtásához az ezen DMA-metódusokat használó eszközök illesztőprogramjai általában AdapterControl rutinnal rendelkeznek, és meghívják a rendszer által biztosított támogatási rutinokat, amelyek módosítják az adapterobjektumokat. (Az AdapterControl rutint nem igénylő illesztőprogramok közé tartoznak a szórás/gyűjtési DMA-t használó és a közös buffer, buszvezérlő DMA-t használó illesztőprogramok.)

Az eszközindítási műveletek részeként a DMA-műveleteket kezelő illesztőprogramok meghívják az I/O-kezelőt, amely viszont meghívja a platformspecifikus HAL-t adapterobjektumok készletének létrehozásához. Bármely Windows-platformon az adapterobjektumok készlete tartalmaz egy adapterobjektumot a következőkhöz:

  • Minden olyan rendszer DMA-vezérlő csatornája vagy portja, amelyhez egy alárendelt eszköz csatlakozik.

  • A gép minden egyes buszvezérlő DMA-eszköze.

Az I/O-kezelő és a HAL együttműködve lefoglalja a megfelelő adapterobjektumot az eszköz DMA-képességei és rendszerkonfigurációja alapján.

(Az SCSI-eszközök esetében, amelyek képesek a fő DMA-ra, az SCSI-portillesztő beállítja az adapterobjektumokat a HBA-specifikus SCSI miniportillesztőkhöz. A miniport-illesztőprogram HwScsiFindAdapter rutin adapterspecifikus adatokkal látja el a portillesztőt.)

Ebben a szakaszban, valamint A Bus-Master DMA használata című szakaszban talál további információt arról, hogy az illesztőprogramok mikor és hogyan használják az adapterobjektumokat, valamint AdapterControl rutinokat.

DMA újratérképezés engedélyezése az eszközillesztők számára