Maintaining a section list in the server is certainly something we could do, but I don't really see why you want to get rid of the modules list. What would you gain by doing that?>
NtMapViewOfSection/NtUnmapViewOfSection.
Admittedly, these would be hard to implement fully in the current Wine userspace server I think (they can map a section handle into _another_ process's VM space). However, it's something I can do in kernel space reasonably easily.
And then there's NtQueryVirtualMemory. This can return a handle to the backing section (assuming I'm recalling this correctly) in some other process.
Actually, I see that you do maintain a view list in the client as well as the module list and section lists in the server. What I was thinking of was just consolidating the three into a single view list and a single section list in the server.
In effect, Wine'd still have the module list, it's just that there'd be non-modules in the list too.
This would mean that the debugger could query from the server what Windows VM mappings should be expected.
And, of course, it'd make writing the kernel module slightly easier:-)
David