Dela via


Busschaufförer

En busschaufför servar en bussstyrenhet, adapter eller brygga (se bilden Möjliga drivrutinslager ). Microsoft tillhandahåller drivrutiner för de vanligaste bussarna, såsom PCI, PnpISA, SCSI och USB. Andra busschaufförer kan tillhandahållas av IHV:er eller OEM-tillverkare. Busschaufförer behövs; det finns en busschaufför för varje typ av buss på en maskin. En busschaufför kan betjäna fler än en buss om det finns fler än en buss av samma typ på datorn.

Busschaufförens primära ansvar är att:

  • Räkna upp enheterna på bussen.

  • Svara på IRP:er för Plug and Play och IRP:er för energihantering.

  • Multiplexaccess till bussen (för några bussar).

  • Administrera enheterna på bussen allmänt.

Busschaufförer är i huvudsak funktionsdrivrutiner som också räknar upp underordnade.

Under uppräkningen identifierar en busschaufför enheterna på bussen och skapar enhetsobjekt åt dem. (Information om enhetsobjekt finns i Enhetsobjekt och Enhetsstackar.) Vilken metod en busschaufför använder för att identifiera anslutna enheter beror på den specifika bussen.

En busschaufför utför vissa åtgärder för enheterna på bussen, inklusive åtkomst till enhetsregister för att fysiskt ändra enhetens energitillstånd. När enheten till exempel försätts i viloläge ställer bussdrivrutinen in enhetsregister för att försätta enheten i rätt enhetskrafttillstånd.

En busschaufför hanterar inte läs- och skrivbegäranden för de underordnade enheter som är anslutna till bussen. Läs- och skrivbegäranden till en underordnad enhet hanteras av den underordnade enhetens funktionsdrivrutin. Endast om den underordnade enheten används i raw-läge hanterar den överordnade bussdrivrutinen enhetens läsningar och skrivningar.

Eftersom en busschaufför fungerar som funktionsdrivrutin för styrenheten, adaptern eller bryggan, hanterar den även energihanteringsprincipen för dessa komponenter.

En bussdrivrutin kan implementeras som ett drivrutins-/minidrivarpar, på samma sätt som ett SCSI-port-/miniportdrivarpar hanterar en SCSI-hostbussadapter (HBA). I sådana drivrutinspar är minidrivrutinen länkad till den andra drivrutinen, som är en DLL.