Skip to content

Latest commit

 

History

History
23 lines (12 loc) · 2.08 KB

finding-and-mapping-hardware-resources-in-umdf-1-x-drivers.md

File metadata and controls

23 lines (12 loc) · 2.08 KB
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

Finding and Mapping Hardware Resources in UMDF 1.x Drivers

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