On the off chance that MSVC6's installer is cheating and reading the handle table entries directly by dereferencing file handles, I started wondering whether wine needed to make all its handles look a bit more like windows handles.
What's the best source of info about how Windows formats its handles and arranges its handle table?
"Inside Microsoft Windows 2000" by David A. Solomon and Mark Russinovich http://www.sysinternals.com/insidew2k.shtml seems like a good source of info. Is it worth the $35 for a budding wine hacker?
The Windows 2000 DDK is probably a good source, http://www.microsoft.com/ddk/W2kDDK.asp but for some reason, http://download.microsoft.com/download/win2000ddk/install/combined-8-00/nt5/... is a broken link.
- Dan
On Sat, Jan 04, 2003 at 11:23:21PM -0800, Dan Kegel wrote:
On the off chance that MSVC6's installer is cheating and reading the handle table entries directly by dereferencing file handles, I started wondering whether wine needed to make all its handles look a bit more like windows handles.
What's the best source of info about how Windows formats its handles and arranges its handle table?
"Inside Microsoft Windows 2000" by David A. Solomon and Mark Russinovich http://www.sysinternals.com/insidew2k.shtml seems like a good source of info. Is it worth the $35 for a budding wine hacker?
W2K/NT/XP and 9X are very different in how handle tables are structured - for W2K: "Inside Microsoft Windows 2000" has 3 pages on the subject, "Undocumented Windows 2000 Secrets" by S. Schreiber is more detailed including some information like the object headers which aren't covered anywhere else. It's worth noting that the handles for executive objects (files, threads, events, etc) are in kernel-mode and shouldn't be accessible to user-mode programs except through the native API or injecting a driver. There are also user-mode handle systems for GDI/USER objects, consoles and the various stdio implementations - I don't know of any published internals information on these.
David Welch wrote:
On the off chance that MSVC6's installer is cheating and reading the handle table entries directly by dereferencing file handles, I started wondering whether wine needed to make all its handles look a bit more like windows handles.
What's the best source of info about how Windows formats its handles and arranges its handle table?
"Inside Microsoft Windows 2000" by David A. Solomon and Mark Russinovich http://www.sysinternals.com/insidew2k.shtml seems like a good source of info. Is it worth the $35
W2K/NT/XP and 9X are very different in how handle tables are structured - for W2K: "Inside Microsoft Windows 2000" has 3 pages on the subject, "Undocumented Windows 2000 Secrets" by S. Schreiber is more detailed including some information like the object headers which aren't covered anywhere else.
Thanks for the info. Google says that book's home page is http://www.orgon.com/w2k_internals/ Plus it can be had used for $10.
It's worth noting that the handles for executive objects (files, threads, events, etc) are in kernel-mode and shouldn't be accessible to user-mode programs except through the native API or injecting a driver.
Right. I'm only interested in doing the minimum it takes to make the msvc6 installer happy. I suppose I should learn how to use the wine debugger's disassembler so I can see what the installer is actually doing. BTW it might only be doing this trick on win9x, as it crashes differently on NT etc.
There are also user-mode handle systems for GDI/USER objects, consoles and the various stdio implementations - I don't know of any published internals information on these.
- Dan