Course Description:
A five day advanced course on the development of WDM (Windows Driver Model) Device Drivers, presented in partnership with Windows device driver specialists, Datronic®. The course includes a workshop with hands on labs and practical samples.
Overview:
A five day course to supply advanced knowledge on WDM Device Driver Development.
Course Objectives:
-
WDM Device Driver Development for Windows XP, W2K3, Vista and Longhorn Server Course II (Advanced).
- Advanced device driver development on Microsoft Windows platforms.
- Advanced Plug'n'Play, Power Management and Windows Management Instrumentation.
Delegates will learn:
The students gain a thorough knowledge about the architecture of the Plug’n’Play and Power Management components of the Microsoft Windows operating systems and Windows Management Instrumentation. In addition to this delegates learn concepts and backgrounds of device driver development using the DDK and lots of practical tips and tricks.
Pre-requisites:
-
Attendance of course WDM-501: WDM Driver Development, or practical development experience
- Very good knowledge of C and/or C++
- Basic knowledge of Microsoft Visual Studio
- Basic knowledge of Windows system programming
- Basic knowledge of Windows system administration
Who Should Attend:
Windows driver developers who need a more comprehensive understanding of Plug’n’Play, a deeper insight into Power Management and a basic knowledge of Windows Management Instrumentation.
Duration:
Five days
Course Materials:
Delegate Handbook
Related Courses:
-
WDM-501 WDM Driver Development
- WDF-501 WDF KMDF Driver Development
- NDIS-501 NDIS Network Driver Development
- MSDN-2450 Developing Embedded Solutions for
Microsoft Windows CE .NET. (v4.2)
- MSDN-2450N Building Embedded Solutions using Windows
CE 5.0
- MSDN-2545 Embedded Solutions for Windows XP
Embedded
- MSDN-2530 Introduction to Microsoft Windows CE .NET
|
Course Outline:
Day 1:
- Overview
- System architecture and kernel mode components
- Important registry keys
- Setup API, class installers, class co-installers, device co-installers
- Plug'n'Play basics
- Layered drivers
- Physical Device Object (PDO)
- Function Device Object (FDO)
- Filter Device Object (FiDo)
- Plug’n’Play manager’s device tree
- Plug'n'Play IRPs and - Plug'n'Play state transitions overview
- IRP_MN_START_DEVICE / IRP_MN_REMOVE_DEVICE
- IRP_MN_STOP_DEVICE and hardware resource reassignment
- Plug'n'Play routines in WDM drivers
Day 2:
- Advanced Plug'n'Play
- Multifunctional hardware
- System bus extender (MF.SYS)
- Virtual devices
- Bus driver functionality and Plug’n’Play IRPs for bus drivers
- IRP_MN_QUERY_DEVICE_RELATIONS
- IRP_MN_QUERY_ID
- IRP_MN_QUERY_DEVICE_TEXT
- Direct call interfaces
- IRP_MN_QUERY_INTERFACE
Day 3:
- Power management basics
- System power states (S0-S5)
- Device power states (D0-D3)
- IRP_MN_QUERY_CAPABILITIES
- Power state transitions during driver operation
- Device power policy owner
- Handling of IRP_MJ_POWER
- System power IRPs and device power IRPs
- IRP_MJ_POWER queues
Day 4:
- Idle detection
- Waking the system
- DEVICE_CAPABILITIES and wake entries
- Enabling wakeup by the power policy owner
- IRP_MN_WAIT_WAKE
Day 5:
- WMI architecture
- IRP_MJ_SYSTEM_CONTROL and WMILIB
- Object model and MOF resources
- WMI properties
- WMI events
- WMI property and event consumer applications
|