WDM Device Driver Development for Windows Operating Systems
Course
Inhouse
Description
-
Type
Course
-
Methodology
Inhouse
-
Duration
5 Days
Suitable for: Attendees must be experienced C/C++ programmers with a good knowledge of working with Visual Studio (Developer Studio) and familiarity with Windows system programming and administration.
Reviews
Subjects
- Operating Systems
Course programme
The course covers the key aspects of the device driver architecture of the Microsoft Windows operating systems, device driver development using the DDK and strategies for designing and implementing device drivers.
This is a taught lab course with heavy emphasis on practical lab work. The split between teaching and lab work is abour 40% teaching and 60% lab work. Although the formal course hours are from 9.00 am to 5 p.m there will be opportunities to work later (till about 7 p.m., apart from the last day)
Course Contents
Overview of the various Microsoft Operating Systems
- structure of Windows operating systems
- .INF files
- Class installers
- Class coinstallers
- Device coinstallers
- Driver data structures
- Driver Object
- Device Object
- Device Extension
- Buffered I/O vs. Direct I/O
- Packet driven I/O and I/O request packets (IRPs)
- Virtual Memory Management issues
- Mechanisms supporting Plug'n Play
- Device Tree and Driver Layering
- Device Object
- Physical Device Object (PDO)
- Functional Device Object (FDO)
- Filter Device Object (FIDO)
- State Transitions of the Plug'n Play framework in the context of developing WDM drivers
- IRQL_PASSIVE_LEVEL
- IRQL_DISPATCH_LEVEL
- DIRQL
- Spinlocks and SMP architectures
- Executive Spinlocks and Interrupt Spinlocks
- Dispatcher Objects
- Executive Resources
- IRP Queues
- IRP Cancellation and Cancel Safe IRP Queues
- Overview of power management strategies
- The Microsoft approach to power management
- System Power States
- Device Power States
- Power Policy Owner
WDM Device Driver Development for Windows Operating Systems