ekohl@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