Table of contents
Collapse the table of content
Expand the table of content

Finding and Mapping Hardware Resources in UMDF 1.x Drivers

Last Updated: 7/30/2016

[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.

The driver iterates through the resource list by calling IWDFCmResourceList::GetCount and IWDFCmResourceList::GetDescriptor.

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.

© 2016 Microsoft