title | description | ms.date |
---|---|---|
Finding and Mapping Hardware Resources in UMDF 1.x Drivers |
Finding and Mapping Hardware Resources in UMDF 1.x Drivers |
04/20/2017 |
[!includeUMDF 1 Deprecation]
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.