You should implement EvtDeviceResourceRequirementsQuery. You will be
passed a WDFIORESREQLIST. You will then be required to add at least one
WDFIORESLIST to the WDFIORESREQLIST. Each WDFIORESLIST is a set of
possible resource requirements for the device. Each WDFIORESLIST is an
alternative set of resource requirements.
Now, this how it works in theory. In practice, you also need to be able
to arbitrate these resources with the owner of them (your FDO). The
arbitration interfaces/implementation are not public, so even once you
get these requirements reported, you may not be able to get your PDO’s
stack started. Instead, expose a custom interface through QI. The
driver that loads on the FDO then queries for the interface. This
private interface can handout whatever resources you want back to the
FDO without involving official PnP resource assignment.
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark McDougall
Sent: Tuesday, February 27, 2007 8:28 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] EvtDeviceResourceQuery vs
EvtDeviceResourceRequirementsQuery
Help!
No matter how many times I read the documentation, I still can’t
understand WTF I’m supposed to do in each of these callbacks.
My (PCI) bus driver enumerates a number of child devices, each of which
has these 2 callbacks defined in the bus driver.
What I want to do is assign a (subset) block of memory from one of the
PCI device BARs at a (different) fixed offset to each child. IIUC the
FDO for each child PDO can then retrieve these resources from it’s own
PnP callback to access PCI memory space directly.
But I can’t figure out what I’m doing in these callbacks, and when/where
to assign physical/translated IO spaces?
Any hints would be greatly appreciated!
Regards,
–
Mark McDougall, Engineer
Virtual Logic Pty Ltd, http:
21-25 King St, Rockdale, 2216
Ph: +612-9599-3255 Fax: +612-9599-3266
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer</http:>