Training
Certifications
Books
Special Offers
Community




 
Programming the Microsoft® Windows® Driver Model
Author Walter Oney
Pages 640
Disk 1 Companion CD(s)
Level Intermediate
Published 10/13/1999
ISBN 9780735605886
ISBN-10 0-7356-0588-2
Price(USD) $49.99
To see this book's discounted price, select a reseller below.
 

More Information

About the Book
Table of Contents
Sample Chapter
Index
Related Series
Related Books
About the Author

Support: Book & CD

Rate this book
Barnes Noble Amazon Quantum Books

 

Table of Contents


Forewordviii
Acknowledgmentsix
CHAPTER 1  INTRODUCTION1
    An Overview of the Operating Systems1
    Windows 2000 Drivers5
    Sample Code12
    Organization of This Book14
    Other Resources17
    Warning18
CHAPTER 2  BASIC STRUCTURE OF A WDM DRIVER19
    Device and Driver Layering19
    The DriverEntry Routine44
    The AddDevice Routine48
    Windows 98 Compatibility Notes69
CHAPTER 3  BASIC PROGRAMMING TECHNIQUES71
    The Kernel-Mode Programming Environment71
    Error Handling74
    Memory Management90
    String Handling111
    Miscellaneous Programming Techniques115
    Windows 98 Compatibility Notes129
CHAPTER 4  SYNCHRONIZATION131
    An Archetypal Synchronization Problem132
    Interrupt Request Level134
    Spin Locks139
    Kernel Dispatcher Objects141
    Other Kernel-Mode Synchronization Primitives162
CHAPTER 5  THE I/O REQUEST PACKET173
    Data Structures173
    The "Standard Model" for IRP Processing179
    Completing I/O Requests189
    Passing Requests Down to Lower Levels197
    Cancelling I/O Requests200
    Managing Your Own IRPs211
    Loose Ends217
CHAPTER 6  PLUG AND PLAY221
    IRP_MJ_PNP Dispatch Function223
    Starting and Stopping Your Device225
    Managing PnP State Transitions236
    Other Configuration Functionality260
    Windows 98 Compatibility Notes287
CHAPTER 7  READING AND WRITING DATA289
    Configuring Your Device289
    Addressing a Data Buffer293
    Ports and Registers298
    Servicing an Interrupt303
    Direct Memory Access320
CHAPTER 8  POWER MANAGEMENT345
    The WDM Power Model346
    Managing Power Transitions353
    Additional Power Management Details387
    Windows 98 Compatibility Notes396
CHAPTER 9  SPECIALIZED TOPICS399
    Filter Drivers399
    Logging Errors406
    I/O Control Operations414
    System Threads436
    Executive Work Items442
    Watchdog Timers446
    Windows 98 Compatibility Notes449
CHAPTER 10  WINDOWS MANAGEMENT INSTRUMENTATION451
    WMI Concepts452
    WDM Drivers and WMI456
    User-Mode Applications and WMI475
    Windows 98 Compatibility Notes485
CHAPTER 11  THE UNIVERSAL SERIAL BUS487
    Programming Architecture489
    Working with the Bus Driver510
CHAPTER 12  INSTALLING DEVICE DRIVERS557
    The INF File558
    Defining a Device Class575
    Launching an Application581
    Windows 98 Compatibility Notes587
Appendix A  Coping with Windows 98 Incompatibilities589
    Defining Stubs for Kernel-Mode Routines589
    Determining the Operating System Version594
Appendix B  Using GENERIC.SYS595
Appendix C  Using WDMWIZ.AWX597
    Basic Driver Information597
    DeviceIoControl Codes599
    I/O Resources600
    Power Capabilities601
    USB Endpoints602
    WMI Support603
    Parameters for the INF File604
    Now What?605
Index607


Visit Microsoft Press for more information on
Programming the Microsoft Windows Driver Model


Top of Page


Last Updated: Saturday, July 7, 2001