Synopses & Reviews
The Microsoft Windows driver model (WDM) supports Plug and Play, provides power management capabilities, and expands on the driver/minidriver approach. Written by long-time device-driver expert Walter Oney in cooperation with the Windows kernel team, this book provides extensive practical examples, illustrations, advice, and line-by-line analysis of code samples to clarify real-world driver-programming issues. And it’s been updated with the latest details about the driver technologies in Windows XP and Windows 2000, plus more information about how to debug drivers.
Topics covered include:
- Beginning a driver project and the structure of a WDM driver; NEW: Minidrivers and class drivers, driver taxonomy, the WDM development environment and tools, management checklist, driver selection and loading, approved API calls, and driver stacks
- Basic programming techniques; NEW: Safe string functions, memory limits, the Driver Verifier scheme and tags, the kernel handle flag, and the Windows 98 floating-point problem
- Synchronization; NEW: Details about the interrupt request level (IRQL) scheme, along with Windows 98 and Windows Me compatibility
- The I/O request packet (IRP) and I/O control operations; NEW: How to send control operations to other drivers, custom queue implementations, and how to handle and safely cancel IRPs
- Plug and Play for function drivers; NEW: Controller and multifunction devices, monitoring device removal in user mode, Human Interface Devices (HID), including joysticks and other game controllers, minidrivers for non-HID devices, and feature reports
- Reading and writing data, power management, and Windows Management Instrumentation (WMI) NEW: System wakeup, the WMI control for idle detection, and using WMIMOFCK
- Specialized topics and distributing drivers; NEW: USB 2.0, selective suspend, Windows Hardware Quality Lab (WHQL) certification, driver selection and loading, officially approved API calls, and driver stacks
COVERS WINDOWS 98, WINDOWS ME, WINDOWS 2000, AND WINDOWS XP!
CD-ROM FEATURES:
- A fully searchable electronic copy of the book
- Sample code in Microsoft Visual C++
For customers who purchase an ebook version of this title, instructions for downloading the CD files can be found in the ebook.
About the Author
Walter Oney has 35 years of experience in systems-level programming and has been teaching Windows device driver classes for 10 years. He was a contributing editor to Microsoft Systems Journal and is a Microsoft MVP. He has written several books, including Systems Programming for Windows 95 and the first edition of Programming the Microsoft Windows Driver Model. In his free time he's a committed jogger, a fan of classical dance, and an amateur oboist. He and his wife, Marty, live in Boston, Massachusetts.
Table of Contents
AcknowledgmentsIntroductionChapter 1: Beginning a Driver ProjectChapter 2: Basic Structure of a WDM DriverChapter 3: Basic Programming TechniquesChapter 4: SynchronizationChapter 5: The I/O Request PacketChapter 6: Plug and Play for Function DriversChapter 7: Reading and Writing DataChapter 8: Power ManagementChapter 9: I/O Control OperationsChapter 10: Windows Management InstrumentationChapter 11: Controller and Multifunction DevicesChapter 12: The Universal Serial BusChapter 13: Human Interface DevicesChapter 14: Specialized TopicsChapter 15: Distributing Device DriversChapter 16: Filter DriversCoping with Cross-Platform IncompatibilitiesUsing WDMWIZ.AWXAbout the AuthorMetal Craft ClampMicrosoft License Agreement