Flylib.com
Developing Drivers with the Windows Driver Foundation (Pro Developer)
Developing Drivers with the Windows Driver Foundation (Pro Developer)
ISBN: 0735623740
EAN: 2147483647
Year: 2007
Pages: 224
Authors:
Penny Orwick
,
Guy Smith
BUY ON AMAZON
Table of Contents
Back Cover
Developing Drivers with the Microsoft Windows Driver Foundation
Foreword
Part 1: Getting Started with WDF
Chapter 1: Introduction to WDF
About This Book
Conventions Used in This Book
Getting Started with Driver Development
Key Information Sources
Chapter 2: Windows Driver Fundamentals
What Is a Driver?
Kernel Objects and Data Structures
The Windows IO Model
About Plug and Play and Power Management
Basic Kernel-Mode Programming
Tips for Programming in Kernel Mode
A Basic Vocabulary
Chapter 3: WDF Fundamentals
WDF and WDM
What Is WDF?
WDF Object Model
IO Model
Plug and Play and Power Management
Security
WDF Verification, Tracing, and Debugging Support
Serviceability and Versioning
Part 2: Exploring the Frameworks
Chapter 4: Overview of the Driver Frameworks
The Frameworks: An Overview
UMDF Overview
KMDF Overview
WDF Architecture
UMDF Infrastructure
KMDF Infrastructure
Device and Driver Support in WDF
Chapter 5: WDF Object Model
Overview of the Object Model
UMDF Object Model Implementation
KMDF Object Model Implementation
Object Creation
Object Hierarchy and Lifetime
Object Context Areas
Chapter 6: Driver Structure and Initialization
Required Driver Components
Driver Object
Device Objects
Queues and Other Support Objects
Device Interfaces
UMDF Device Object Creation and Initialization
KMDF Device Object Creation and Initialization
Child Device Enumeration (KMDF PDOs Only)
Device Naming Techniques for KMDF Drivers
Part 3: Applying WDF Fundamentals
Chapter 7: Plug and Play and Power Management
Introduction to Plug and Play and Power Management
Plug and Play and Power Management Support in WDF
Callback Sequences for Plug and Play and Power Management
How to Implement Plug and Play and Power Management in WDF Drivers
Plug and Play and Power Management in Software-Only Drivers
Plug and Play and Power Management in Simple Hardware Drivers
Advanced Power Management for KMDF Drivers
Chapter 8: IO Flow and Dispatching
Common IO Request Types
IO Transfer Types
IO Request Flow
IO Request Objects
IO Queues
IO Event Callbacks
Completing IO Requests
Canceled and Suspended Requests
Adaptive Time-outs in UMDF
Self-Managed IO
Chapter 9: IO Targets
About IO Targets
IO Target Creation and Management
IO Request Creation
Memory Objects and Buffers for Driver-Created IO Requests
Memory Object and Buffer Allocation for IO Requests
IO Request Formatting
How to Send an IO Request
File Handle IO Targets in UMDF Drivers
USB IO Targets
Guidelines for Sending IO Requests
Chapter 10: Synchronization
When Synchronization Is Required
WDF Synchronization Features
Synchronization Scope and IO Callback Serialization
KMDF Wait Locks and Spin Locks
Synchronization of IO Request Cancellation in KMDF Drivers
Summary and General Tips for Synchronization
Chapter 11: Driver Tracing and Diagnosability
WPP Software Tracing Basics
Trace Message Functions and Macros
How to Support Software Tracing in a Driver
Tools for Software Tracing
How to Run a Software Trace Session
Best Practices: Design for Diagnosability
Chapter 12: WDF Support Objects
Memory Allocation
Registry Access
General Objects
KMDF Collection Objects
KMDF Timer Objects
WMI Support in a KMDF Driver
Chapter 13: UMDF Driver Template
A Description of the Skeleton Sample
How to Customize the Skeleton Sample Source Files
How to Customize the Skeleton Sample Build and Installation Support Files
Part 4: Additional Topics for KMDF Drivers
Chapter 14: Beyond the Frameworks
How to Use System Services Outside the Frameworks
How to Handle Requests that the Frameworks Do Not Support
Chapter 15: Scheduling, Thread Context, and IRQL
About Threads
Interrupt Request Levels
Thread Interruption Scenarios
Work Items and Driver Threads
Best Practices for Managing Thread Context and IRQL in KMDF Drivers
Chapter 16: Hardware Resources and Interrupts
Hardware Resources
Interrupts and Interrupt Handling
Chapter 17: Direct Memory Access
Basic DMA Concepts and Terminology
DMA-Specific Device Information
Windows DMA Abstraction
Implementing DMA Drivers
Testing DMA Drivers
Best Practices: Do s and Don ts for DMA Drivers
Chapter 18: An Introduction to COM
Before Starting
UMDF Driver Structure
A Brief Overview of COM
How to Use UMDF COM Objects
How to Implement the DLL Infrastructure
How to Implement UMDF Callback Objects
Part 5: Building, Installing, and Testing a WDF Driver
Chapter 19: How to Build WDF Drivers
General Build Considerations for Drivers
Introduction to Building Drivers
UMDF Example: Building the Fx2_Driver Sample
KMDF Example: Building the Osrusbfx2 Sample
Chapter 20: How to Install WDF Drivers
Driver Installation Basics
WDF Driver Installation Considerations
WDF Driver Package Components
How to Create an INF for a WDF Driver Package
Examples of WDF INFs
How to Sign and Distribute a Driver Package
How to Distribute the Driver Package
How to Install a Driver
How to Troubleshoot WDF Driver Installation Problems
Chapter 21: Tools for Testing WDF Drivers
Getting Started with Driver Testing
Driver Verifier
KMDF Verifier
UMDF Verifier
Application Verifier
Best Practices for Testing WDF Drivers
Chapter 22: How to Debug WDF Drivers
About WDF Debugging Tools
WinDbg Basics
How to Prepare for UMDF Debugging
How to Prepare for KMDF Debugging
UMDF Walkthrough: Debugging the Fx2_Driver Sample
KMDF Walkthrough: Debugging the Osrusbfx2 Sample
How to View Trace Messages with WinDbg
How to Use WinDbg to View the KMDF Log
More Suggestions for Experimenting with WinDbg
Chapter 23: PREfast for Drivers
Introduction to PREfast
How to Use PREfast
Coding Practices that Improve PREfast Results
How to Use Annotations
General-Purpose Annotations
Driver Annotations
How to Write and Debug Annotations
PREfast Best Practices
Example: Osrusbfx2.h with Annotations
Chapter 24: Static Driver Verifier
Introduction to SDV
How SDV Works
How to Annotate KMDF Driver Source Code for SDV
How to Run SDV
How to View SDV Reports
KMDF Rules for SDV
Example: Walkthrough SDV Analysis of Fail_Driver3
KMDF Callback Function Role Types for SDV
Glossary
D
E-G
H-I
K-N
O-P
Q-S
T-W
X
Index
B
C
D
E
F
G
H
I
K
L
M
N
O
P
Q
R
S
T
U
V
W
List of Figures
List of Tables
List of Listings
List of Sidebars
Developing Drivers with the Windows Driver Foundation (Pro Developer)
ISBN: 0735623740
EAN: 2147483647
Year: 2007
Pages: 224
Authors:
Penny Orwick
,
Guy Smith
BUY ON AMAZON
Database Modeling with MicrosoftВ® Visio for Enterprise Architects (The Morgan Kaufmann Series in Data Management Systems)
Getting Started
Conceptual Model Reports
Creating a Basic Logical Database Model
Logical Database Model Reports
Change Propagation and Round Trip Engineering
Beginning Cryptography with Java
The JCA and the JCE
Symmetric Key Cryptography
Message Digests, MACs, and HMACs
CMS and S/MIME
Appendix A Solutions to Exercises
Inside Network Security Assessment: Guarding Your IT Infrastructure
Security and the Employee (Social Engineering)
Defining the Scope of the Assessment
Compiling the Needed Documentation
Building the Final Report
Analysis
Microsoft Windows Server 2003(c) TCP/IP Protocols and Services (c) Technical Reference
Internet Protocol (IP) Basics
Internet Group Management Protocol (IGMP)
User Datagram Protocol
Transmission Control Protocol (TCP) Basics
File and Printer Sharing
Postfix: The Definitive Guide
Postfix Components
Hosting Multiple Domains
Mailing Lists
Postfix Anti-Spam Example
Configuring Postfix for SASL
Microsoft Office Visio 2007 Step by Step (Step By Step (Microsoft))
Starting Diagrams by Using Templates
Customizing the Visio Environment
Modifying Shape Connections
Storing and Displaying Employee Information in Organization Charts
Glossary
flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net
Privacy policy
This website uses cookies. Click
here
to find out more.
Accept cookies