Alex Ionescu wrote:
If you're up for it, here are the public NT structures used...maybe it
won't be a bad idea if we use them if it's not too much code change:
I think it's important because many of the Section implementation
details are documented in books (including driver-related books) and
known to driver developers who might be using the structures in their
code... I can name NT Insider, Windows Internals 4th Edition and
Windows NT File System Internals as some examples...but anyways it's
just an idea.
I think that the structures are not public. No driver can use this
structures. M$ can change the structures between service packs. IMO it
exsits no reason to use exactly the same structures. In the near future,
I will do some changes. It is necessary to split the segment structure
in one large 'page' table and some short structures for each segment. It
is nearly the same like the control area, the subsections and the
segment. It is also necessary to use only one memory area for a mapped
image section. I need this to implement the executing of low alignment
executables (like device drivers).
There's even a nice diagram in one of the books:
I know this diagram because I own some of the books.
As a sidenote, do we have a PFN Database?
We have a 'PFN' database. It is in freelist.c.
- Hartmut