Finding and Mapping Hardware Resources in UMDF 1.x Drivers
[This topic applies to UMDF 1.x.]
If you are using UMDF version 2.0 or later, see Finding and Mapping Hardware Resources.
A UMDF 1.x driver receives hardware resources in its IPnpCallbackHardware2::OnPrepareHardware callback method. The driver uses the IWDFCmResourceList interface to review the translated resource list and identify memory-mapped registers, I/O ports, and interrupts.
If the driver receives memory-mapped registers, the driver must call IWDFDevice3::MapIoSpace to map the registers before it can access them. Typically, a driver maps its registers in its IPnpCallbackHardware2::OnPrepareHardware method. The driver unmaps the registers in its IPnpCallbackHardware2::OnReleaseHardware callback by calling IWDFDevice3::UnmapIoSpace. Note that mapping is not needed for I/O ports.
For an example that shows how a driver finds and maps memory-mapped register resources, see IWDFDevice3::MapIoSpace.