▼
MSDN Library - April 2000
▶
Welcome to the MSDN Library
▶
Visual Studio 6.0 Documentation
▶
Office Developer Documentation
▶
Windows CE Documentation
▶
Platform SDK
▶
SDK Documentation
▼
DDK Documentation
About DDK Documentation
▶
Windows 95 DDK
▶
Windows 98 Driver Development Kit
▶
Windows 2000 Driver Development Kit
▼
Windows NT 4.0 DDK
▶
Legal Information
▶
Release Notes for V4.0
▶
Programmer's Guide
▼
Kernel-Mode Drivers
▼
Design Guide
▶
Chapter 1 NT Drivers
▶
Chapter 2 Layered I/O, IRPs, and I/O Objects
▶
Chapter 3 NT Objects and Support for Drivers
▶
Chapter 4 Basic Driver Structure
▶
Chapter 5 DriverEntry and Reinitialize Routines
▶
Chapter 6 Dispatch Routines
▶
Chapter 7 StartIo and Queue Management Routines
▶
Chapter 8 Interrupt Service Routine
▶
Chapter 9 DpcForIsr Routine and CustomDpc Routines
▶
Chapter 10 SynchCritSection Routines
▶
Chapter 11 AdapterControl and ControllerControl Routines
▶
Chapter 12 Cancel Routines
▶
Chapter 13 IoCompletion Routines
▶
Chapter 14 IoTimer and CustomTimerDpc Routines
▶
Chapter 15 Unload Routine
▼
Chapter 16 Common Driver Design Issues
16.1 Managing Hardware Priorities
▶
16.2 Using Spin Locks
16.3 Polling a Device
▶
16.4 Managing Memory Usage
▶
16.5 Maintaining Cache Coherency for DMA and PIO
▶
16.6 Error Logging and NTSTATUS Values
16.7 Handling Removable Media
▼
16.8 Using the Registry
▶
16.8.1 Registry Paths Supplied to NT Drivers
▼
16.8.2 Getting Device Hardware Configuration Information
16.8.2.1 Calling IoQueryDeviceDescription
16.8.2.2 Calling HalGetBusData or HalGetBusDataByOffset
▶
16.8.3 Claiming Hardware Resources
16.8.4 Setting Up Driver-specific, User-visible Error Logging
16.8.5 Using the RegistryPath Parameters
▶
16.9 Setting Up Symbolic Links
▶
Appendix A SCSI Drivers
▶
Kernel-mode Glossary
▶
Reference
▶
Graphics Drivers
▶
Multimedia Drivers
▶
Network Drivers
▶
Virtual DOS Drivers
▶
Smart Card DDK
▶
Windows Resource Kits
▶
Knowledge Base
▶
Technical Articles
▶
Backgrounders
▶
Specifications
▶
Books
▶
Partial Books
▶
Periodicals
▶
Samples