- 1
- 2
- Cover
- Cover
- Table of Contents
- Foreword
- Preface
- What You Should Already Know
- What s Covered
- What s Not
- About the Sample Code
- History of this Book
- Training and Consulting Services
- Acknowledgments
- Chapter 1. Introduction to Windows 2000 Drivers
- Overall System Architecture
- Kernel-Mode IO Components
- Special Driver Architectures
- Summary
- Chapter 2. The Hardware Environment
- Hardware Basics
- Buses and Windows 2000
- Hints for Working with Hardware
- Summary
- Chapter 3. Kernel-Mode IO Processing
- How Kernel-Mode Code Executes
- Use of Interrupt Priorities by Windows 2000
- Deferred Procedure Calls (DPCs)
- Access to User Buffers
- Structure of a Kernel-Mode Driver
- IO Processing Sequence
- Summary
- Chapter 4. Drivers and Kernel-Mode Objects
- Data Objects and Windows 2000
- IO Request Packets (IRPs)
- Driver Objects
- Device Objects and Device Extensions
- Controller Objects and Controller Extensions
- Adapter Objects
- Interrupt Objects
- Summary
- Chapter 5. General Development Issues
- Driver Design Strategies
- Coding Conventions and Techniques
- Driver Memory Allocation
- Unicode Strings
- Interrupt Synchronization
- Synchronizing Multiple CPUs
- Linked Lists
- Summary
- Chapter 6. Initialization and Cleanup Routines
- Writing a DriverEntry Routine
- Code Example: Driver Initialization
- Writing Reinitialize Routines
- Writing an Unload Routine
- Code Example: Driver Unload
- Writing Shutdown Routines
- Testing the Driver
- Summary
- Chapter 7. Driver Dispatch Routines
- Announcing Driver Dispatch Routines
- Writing Driver Dispatch Routines
- Processing Read and Write Requests
- Code Example: A Loopback Device
- Extending the Dispatch Interface
- Testing Driver Dispatch Routines
- Summary
- Chapter 8. Interrupt-Driven IO
- How Programmed IO Works
- Driver Initialization and Cleanup
- Writing a Start IO Routine
- Writing an Interrupt Service Routine (ISR)
- Writing a DpcForIsr Routine
- Some Hardware: The Parallel Port
- Code Example: Parallel Port Loopback Driver
- Testing the Parallel Port Loopback Driver
- Summary
- Chapter 9. Hardware Initialization
- The Plug and Play Architecture: A Brief History
- The Role of the Registry for Legacy Drivers
- Detecting Devices with Plug and Play
- The Role of Driver Layers in Plug and Play
- 1
- 2





