ekohl(a)svn.reactos.com wrote:
Add architecture-specific headers and move
I386-specific definitions into them.
Thanks a lot Eric.
I did some research on another FIXME that is actually related to your
PnP work, which you might want to take a look at. You will notice that
DEVICE_NODE has 2 non-NT members. I saw that you had some previous
patches concerning this structure that removed some of the ROS-Only
fields, and I guess you might want to get rid of the two ones remaning.
The first is BusTypeGuid. The correct way it should be handled is
through a private array of GUIDs, which is indexed according
DeviceNode.ChildBusTypeIndex.
When querying, you just return the GUID in
IopXxxxx[DeviceNode.ChildBusTypeIndex], and when creating a bus type
guid, you just write the index there. I hope that's clear enough.
The second is "Address". That field is actually already present in the
DDK-documented DEVICE_CAPABILITIES structure. Therefore, when queried
for it, simply send an IRP_MJ_QUERY_CAPABILITIES (or whatever the name
is) to DeviceNode->PhysicalDeviceObject, and return the
DeviceCapabilities.Address.
That should be less then 20 lines of code to change, but I don't want to
break any PnP features since they aren't my speciality..
Best regards,
Alex Ionescu