Geoff Chappell - Software Analyst
For various reasons that I leave unstated, I have in September and October got myself more than a little concerned to strengthen the pages that provide overviews and frameworks. As much as I like getting into the detail, the fact is that the most-read pages at this website are the catalogues that I prepare as my own reference to the history to frame my "actual" work. I tend to approach these pages half-heartedly, if not resentfully. Working through thousands of functions, not just in the code but in dozens of editions of Microsoft’s documentation, following this or that structure’s development through some twenty or so Windows versions, all takes time, and although I do benefit—I am a big believer that one gains useful, and even invaluable, insight from immersion in the data—I can’t help grumble that such background material ought to be prepared as paid scholarship for common benefit. Wouldn’t we all do more advanced work—and do it better—if freed from repeatedly tending to the basics? Still, the appeal of these pages to readers is no small success. I start to realise that these pages are more important than I had let myself appreciate and I would better put flesh on what I had been happy to leave as bones.
So, there is now an on-going commitment to revise this website’s lists of API functions. The presentation is changing substantially, not least so that I can hang on those bones a paragraph here or there that may look like a throw-away but which couldn’t be written except as an outcome of serious research. I’m also attending to a hobby horse: tracking not just whether a function is documented now but how (slowly) it got disclosed. This commits me to a lot of tedious picking over archived collections of documentation. This is presently under way for the kernel-mode lists. I very possibly will not take it further, but you’ve all understood that despite my occasional and even lengthy explorations even as far out as Internet Explorer, it’s kernel-mode Windows that has my abiding interest.
Inevitably, I get diverted by new work, some of which motivates me to update pages for new releases of Windows. I’m always behind. The pages listed below now cover up to and including the 2004 edition of Windows 10. For most, that is all the revision they have received. This is enough, though to bring to mind that several of these pages, notably for the KTHREAD, really need some heavy reworking to bring them under control.
The page on the KUSER_SHARED_DATA has substantial newly written material on the early history of getting the time in user mode—and inevitably on what Windows time even means.
All these pages on structures will be moved in the near future. But even the plan is still too much in development to write about. That said, if only to mark the space and perhaps even to commit me to seeing it through, I offer a taste without further explanation.