Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Alla drivrutiner som använder direkt I/O och DMA måste skapa ett adapterobjekt. Adapterobjektet representerar antingen en DMA-styrenhetskanal eller port eller en bus-master-enhet.
Två typer av drivrutiner på lägsta nivå måste använda adapterobjekt:
Drivrutiner för enheter som använder system-DMA-styrenheten. Sådana enheter kallas underordnade enheter och sägs använda "system- (eller underordnad) DMA".
Drivrutiner för enheter som är bus-master-adaptrar. Sådana enheter förhandlar med systemet för användning av I/O-bussen och använder därmed bus-master DMA.
Drivrutiner tillhandahåller lagring, vanligtvis i ett enhetstillägg, för en pekare till adapterobjektet.
För att utföra DMA-överföringar har drivrutiner för enheter som använder någon av dessa DMA-metoder vanligtvis en AdapterControl-rutin och anropar systemspecifika supportrutiner som manipulerar adapterobjekt. (Drivrutiner som inte kräver AdapterControl-rutiner inkluderar de som använder scatter/gather DMA och de som använder common-buffer, bus-master DMA.)
Som en del av enhetens startåtgärder anropar drivrutiner som hanterar DMA-åtgärder I/O-chefen, som i sin tur anropar den plattformsspecifika HAL för att skapa en uppsättning adapterobjekt. På alla Windows-plattformar innehåller uppsättningen adapterobjekt ett adapterobjekt för:
Varje system-DMA-styrkanal eller port som en underordnad enhet är ansluten till.
Varje DMA-enhet för busshanterare på datorn.
I/O-chefen och HAL arbetar tillsammans för att allokera lämpligt adapterobjekt baserat på enhetens DMA-funktioner och systemkonfiguration.
(För SCSI-enheter som kan busshanterad DMA konfigurerar SCSI-portdrivrutinen adapterobjekt för HBA-specifika SCSI-miniportdrivrutiner. Miniportdrivrutinens HwScsiFindAdapter-rutin förser portdrivrutinen med adapterspecifika data.)
Se det här avsnittet samt Använda Bus-Master DMA för mer information om när och hur drivrutiner använder adapterobjekt och AdapterControl-rutiner .