Windows 2000 Internals - Topics

>> Homepage
>> Audience
>> Topics
>> Overview
>> CD Contents
>> Bibliography

After introducing you to the basic architecture of Windows 2000 and helping you to set up your workstation for Windows 2000 kernel spelunking, this book leads you through some very exciting corners inside the world of kernel programming. Typically, each chapter first tells you the essential theory you need to know about the topic, and then immediately steps to some sample code that illustrates the usage of the respective features. The language chosen for the samples is plain C. The probability is high that the readers of this book are comfortable with C, and this language is well supported by Microsoft's Windows 2000 development tools.

This book does deliberately not attempt to give a broad overview of the architecture of the Windows 2000 kernel, although it discusses parts of it in some chapters. If you are looking for such information, stick to "Inside Windows 2000" (Solomon & Russinovich 2000) instead, which takes a very general and theoretical approach to the Windows 2000 internals. However, if you want to see practical code examples and full-featured sample applications that interact live with the system, neither "Inside Windows 2000" nor the "Windows NT / 2000 Native API Reference" (Nebbett 2000) take you very far. This is where my book enters the scene. It contains reprinted code samples in abundance, accompanying the Windows 2000 concepts and features under discussion, and the companion CD comprises all of this code in ready-to-run applications that you can extend, tear to shreds for use in other applications, or simply use as is. Basically, you will be led through the following topics:

- Using the Windows 2000 debugging interfaces.
- Loading, parsing, and utilizing the Windows 2000 symbol files.
- Dissecting the Microsoft PDB file format.
- Interfacing to the kernel's Native API.
- Writing simple kernel-mode drivers.
- Exploring Windows 2000 system memory.
- Hooking and monitoring calls to the Native API.
- Calling kernel functions from user-mode applications.
- Calling non-exported kernel functions.
- Exploring the world of Windows 2000 kernel objects.

Besides this, you will learn many more tiny details about the system along the way, packed into the text and samples. My foremost intention while writing the manuscript was to share with you anything I knew about the topics I was writing about.

>> Back to top of page

| December 17th, 2000 // Sven B. Schreiber |