By Penny Orwick, Guy Smith

Start constructing powerful drivers with specialist information from the groups who built home windows motive force beginning. This accomplished booklet will get you in control speedy and is going past the basics that can assist you expand your home windows improvement talents. You get top practices, technical suggestions, and wide code samples that will help you grasp the intricacies of the next-generation driving force model—and simplify driving force development.

Discover how to:

Use the home windows motive force starting place to enhance kernel-mode or user-mode drivers Create drivers that aid Plug and Play and gear management—with minimum code enforce powerful I/O dealing with code successfully deal with synchronization and concurrency in driving force code increase user-mode drivers for protocol-based and serial-bus-based units Use USB-specific positive factors of the frameworks to quick improve drivers for USB units layout and enforce kernel-mode drivers for DMA units assessment your drivers with resource code research and static verification instruments practice most sensible practices to check, debug, and set up drivers

PLUS—Get motive force code samples at the Web

Show description

Read Online or Download Developing Drivers with the Windows® Driver Foundation (Developer Reference) PDF

Best Programming books

Embedded C

For those that are approximately to jot down their first embedded application - or were suffering to benefit approximately this crucial quarter - this ebook will keep weeks of attempt.

Cocoa Design Patterns

“Next time a few child exhibits up at my door inquiring for a code evaluation, this can be the e-book that i'm going to throw at him. ”   –Aaron Hillegass, founding father of giant Nerd Ranch, Inc. , and writer of Cocoa Programming for Mac OS X   Unlocking the secrets and techniques of Cocoa and Its Object-Oriented Frameworks   Mac and iPhone builders are usually crushed by means of the breadth and class of the Cocoa frameworks.

C++ Primer (5th Edition)

Bestselling Programming educational and Reference thoroughly Rewritten for the recent C++11 commonplace   totally up-to-date and recast for the newly published C++11 common, this authoritative and entire creation to C++ may help you to profit the language speedy, and to take advantage of it in sleek, powerful methods.

Operating System Concepts

Continue speed with the fast-developing global of working platforms Open-source working structures, digital machines, and clustered computing are one of the top fields of working platforms and networking which are quickly altering. With gigantic revisions and organizational alterations, Silberschatz, Galvin, and Gagne’s working procedure techniques, 8th variation continues to be as present and correct as ever, assisting you grasp the basic techniques of working structures whereas getting ready your self for today’s rising advancements.

Additional info for Developing Drivers with the Windows® Driver Foundation (Developer Reference)

Show sample text content

345 the right way to break up an I/O Request into Smaller Requests . . . . . . . . . . . . . . . . . . . . . 346 KMDF instance: Reuse an I/O Request item . . . . . . . . . . . . . . . . . . . . . . . . . . 348 how one can Cancel a despatched Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 dossier deal with I/O objectives in UMDF Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 USB I/O ambitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 approximately USB units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 really expert USB I/O objectives in WDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 tips on how to Configure a USB I/O goal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 how one can ship an I/O Request to a USB I/O objective . . . . . . . . . . . . . . . . . . . . . . . 369 USB non-stop Reader in KMDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 guidance for Sending I/O Requests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 10 Synchronization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 whilst Synchronization is needed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 Synchronized entry to Shared info: An instance . . . . . . . . . . . . . . . . . . . . . . 381 Synchronization necessities for WDF Drivers . . . . . . . . . . . . . . . . . . . . . . . . 383 WDF Synchronization positive aspects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 Reference Counts and the Hierarchical item version . . . . . . . . . . . . . . . . . . . 384 Serialization of Plug and Play and gear Callbacks . . . . . . . . . . . . . . . . . . . . . 385 circulate keep an eye on for I/O Queues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 item Presentation Lock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Synchronization Scope and I/O Callback Serialization . . . . . . . . . . . . . . . . . . . . . . . . 387 gadget Scope and Queue Dispatch equipment . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 Synchronization Scope in UMDF Drivers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 Synchronization Scope in KMDF Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 KMDF Wait Locks and Spin Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 Wait Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 Spin Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 Synchronization of I/O Request Cancellation in KMDF Drivers. . . . . . . . . . . . . . . . . 401 Synchronized Cancellation by utilizing Synchronization Scope . . . . . . . . . . . . . 402 Synchronized Cancellation by way of monitoring nation within the Request Context . . . . . 403 Synchronized Cancellation of Incoming Request with Driver-Created Subrequests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 precis and common counsel for Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 Table of Contents eleven xiii driving force Tracing and Diagnosability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 WPP software program Tracing fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 benefits of WPP software program Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 WPP software program Tracing parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 WPP and ETW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 ETW in home windows Vista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 hint Message features and Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 DoTraceMessage Macro . . . . . .

Rated 4.61 of 5 – based on 29 votes