On Thu Jun 25 17:11:24 2026 +0000, Connor McAdams wrote:
6/8: Why are we adding checks that native doesn't have? I guess we don't need to, given if it happened on native it'd just crash. I mostly felt like it was easy to add and might help someone testing things out on wine. Those checks can be removed if you'd prefer. 7/8: Why the devnode_data structure? Why not just store it directly in wine_device? Later patches not in this series add more data to that structure, and the data is specific to PDOs. It feels odd to have those fields in the regular `wine_device` structure, mostly because it gives the impression that the fields should be filled for all `DEVICE_OBJECT`s. If you'd prefer it not have it's own separate structure that's fine too. Well, not specific to PDOs, but specific to a "device node" in the device tree, as mentioned [here](https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/device-tre...):
Each node of the device tree is called a device node, or devnode. A devnode consists of the device objects for the device's drivers, plus internal information maintained by the system. Therefore, there is a devnode for each device stack.
IMO it is confusing to have that data present in each `wine_device` structure, having it in a separate, single allocation structure attached to the PDO makes its purpose more clear. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11263#note_144260