Hello, for the past couple of days I've been trying to get a program to run under wine, everything seems to function correctly except for a CPU stats window that errors every time it updates. After a few hours of debugging I traced it to NtGetSystemInformation and have been trying to write patches for wine to implement it. My only issue is that the program only uses certain parts of the output, and I'm not sure how to put together the structure for it, should I just name the unknown fields "ReservedX"? I'm also not 100% sure where to put the structure afterwards, since it doesn't seem to show up anywhere in MSDN (I may be using the wrong name, I assumed the structure name is just the enum name in title case like the ones that are documented).
I apologize if I sent this to the wrong list, this is my first time contributing to wine and I'm still trying to figure things out.
~Niko
Hello Niko,
there's already people who have reverse engineered those Nt* structures in detail, but I'm not sure if we're allowed to use them.
Alexandre said that we can't use ReactOS code because "A lot of it was reverse-engineered using methods that are not appropriate for Wine" but I don't think those other resources like like geoffchappell.com are created a different way.
Regards, Fabian Maurer
Apologies, I thought that I had my mail client set up to automatically add the mailing list email on replies here, all that was discussed was trying to figure out if resources like geoffchappel.com are ok to use. I've avoided it as of now because I believe what's on that website was made from research on windows public debug symbols, and I worry that may violate the clean room guidelines.
For now I'm going to go over my code/conformance tests a few more times and submit a patch with what I have.
~Niko
On Wednesday, May 29th, 2024 at 9:17 PM, Niko Patterson npatt@proton.me wrote:
Hello, for the past couple of days I've been trying to get a program to run under wine, everything seems to function correctly except for a CPU stats window that errors every time it updates. After a few hours of debugging I traced it to NtGetSystemInformation and have been trying to write patches for wine to implement it. My only issue is that the program only uses certain parts of the output, and I'm not sure how to put together the structure for it, should I just name the unknown fields "ReservedX"? I'm also not 100% sure where to put the structure afterwards, since it doesn't seem to show up anywhere in MSDN (I may be using the wrong name, I assumed the structure name is just the enum name in title case like the ones that are documented).
I apologize if I sent this to the wrong list, this is my first time contributing to wine and I'm still trying to figure things out.
~Niko