Windows XP/W2K3 Server WDM Device Driver Development - Advanced (Plug'n'Play, Power Management and WMI)


WDM2 - Version:1
Description
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 they learn concepts and backgrounds of device driver development using the DDK and lots of practical tips and tricks.
Intended audience
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
Expand All
  • Overview
  • Plug'n'Play Basics
  • System Architecture and kernel mode components
  • Important registry keys
  • Setup API, class installers, class co-installers, device co-installers
  • Layered drivers
  • Physical Device Object (PDO), Function Device Object (FDO) and Filter Device Object (FiDo)
  • Plug'n'Play manager's device tree
  • Plug'n'Play IRPs and - Plu'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
  • 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
  • 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 driver power IRPs
  • IRP_MJ_POWER queues
  • Idle detection
  • Waking the system
  • DEVICE_CAPABILITIES and wake entries
  • Enabling wakeup by the power policy owner
  • IRP_MN_WAIT_WAKE
  • WMI architecture
  • IRP_MJ_SYSTEM_CONTROL and WMILIB
  • Object model and MOF resources
  • WMI properties
  • WMI events
  • WMI property and event consumer applications
  • Very good knowledge of the programming languages C and/or C++
  • Basic knowledge of Windows system programming and system administration
  • Knowledge of system and device driver development on other operating systems (e.g. Unix) is an advantage
  • Good knowledge of Microsoft development environments (Developer Studio)
  • Basic knowledge of driver and hardware related software development
  • Basic knowledge of Windows device driver development (Training course I) is absolutely necessary