Hardware Resources

After Windows discovers a device on the system, the driver for that device must process the device’s hardware resources. The driver determines which I/O ports, memory-mapped addresses, and interrupts are used to communicate with its device, stores that information in a driver-defined location as required for later use, and maps any memory-based resources into the kernel virtual address space.

Device registers can be mapped into memory or into the system’s I/O space, depending on the type of device, the bus to which it is attached, and the underlying hardware platform. Most modern processors and common buses—including PCI, PCI Express, ISA, and EISA—support both memory mapping and I/O mapping.

I/O mapping is a holdover from early ...

Get Developing Drivers with the Windows® Driver Foundation now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.