Home
Company Profile
Our Clients
Training
Courses
course list
roadmap
all dates
forthcoming
booking
Graduate
Training
Mentoring
Location
Links
Contact us

 


 Microsoft Windows Device Driver Courses
WDM-501
WDM Driver Development

Length: 5 days
Cost: £2000
Course description - see below or view PDF
Check course dates - click here
Booking information - click here
 Course Detail

Course Description:
A five day course on the development of basic WDM (Windows Driver Model) Device Drivers. The course is presented in partnership with Windows device driver specialists, Datronic®. The course includes a workshop with hands on labs and practical samples.

Overview:
This course supplies the basic knowledge for modifying existing WDM device drivers or writing completely new drivers.

Course Objectives:

  • WDM Device Driver Development for Windows XP, W2K3, Vista and Longhorn Server Course I (Basics).
  • Basics for device driver development on Microsoft Windows platforms.

Delegates will learn:
The students gain a thorough knowledge about the device driver architecture of the Microsoft Windows operating systems and their kernel mode components. 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:

  • 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:
Experienced application programmers, system software and driver developers, who need a thorough introduction to low level and hardware related software development on Microsoft Windows Platforms.

Duration:
Five days

Course Materials:
Delegate Handbook

Related Courses:

  • AWDM-501 Advanced 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
- Kernel Mode Components
- Setup Api / important Registry Keys
- Plug'n'Play Basics / Overview
- DDK Development Environment
- Driver Debugging Host/Target
- Device Installation
- .INF Files
- Class Installers, Class Coinstallers, Device Coinstallers

Day 2:
- Driver Routines
- Driver Data Structures
- Driver Object, Device Object, Device Extension
- Packet driven IO with IO Request Packets (IRPs)
- Virtual Memory Management
- Buffered IO and Direct IO
- Plug’n’Play Basics
- Driver Layering and the Device Tree
- Physical Device Object (PDO)
- Functional Device Object (FDO)
- Filter Device Object (FiDO)
- Plug’n’Play State Transitions in WDM Drivers

Day 3:
- Accessing Plug’n’Play Hardware Resources via HAL and Busdriver
- Interrupt Architecture and Thread Scheduling
- IRQL_PASSIVE_LEVEL, IRQL_DISPATCH_LEVEL, DIRQL
- Interrupt Service Routines
- Deferred Procedure Calls (DPCs)

Day 4:
- Synchronization
- Executive Spinlocks and Interrupt Spinlocks
- Dispatcher Objects and Executive Resources
- IRP Queues
- Cancel Safe IRP Queues and IRP Cancellation

Day 5:
- Power Management Overview and Basics
- System Power States
- Device Power States
- Power Policy Owner

 telelogic website

Training Courses
C Training Courses
C++ Training Courses
Design Patterns Training Courses
Embedded Linux
Training Courses

Java Training Courses
Microsoft Embedded Training Courses
MISRA-C Training Courses
RTOS Training Courses
Software Engineering Training Courses
SNMP Training Courses
SysML Training Courses
TCP/IP Training Courses
Testing Training Courses
Microsoft Windows Device Driver Courses
UML Training Courses

Feabhas Codes
AC-401
AC++-401
AWDM-501
C-501
C++-303
C++-501
C++-502
C++-503
DP-401
EL-201
EL-202
EL-301
EL-503
EL-504
J-501
J-502
MC-101
MSDN-2530
MSDN-2535
MSDN-2540
MSDN-2545
MSDN-2540N
NDIS-501
OO-101
OO-301
OO-503
RB-201
RTOS-201
SE-401
SE-501
SNMP-301
T-301
TCP-401
WDF-501
WDM-501