M309b: Advanced Windows 2000 Device Driver Programming - 4 Days

Who Should Attend:

Software engineers, system analysts, programmers, system developers, and computer science students who need to write drivers for real hardware as well as systems and application programs for the Windows 2000 environment.

Prerequisites:
Participants are expected to be familiar with the basic usage of Windows 2000, Win32 SDK, and C programming language.

Objectives:

This module aims to give participants who are already familiar with the basic Windows 2000 architecture and know how to build and debug device drivers will gain more hands-on experience in developing real-life device drivers. At the end of this module, participants should be able to write real-life device drivers and appreciate the performance issues involved.


Contents:
Plug and Play: IRP_MJ_PNP, Starting and Stopping PNP, State Transitions Management, Other Configuration Functionality.

Reading and Writing Data: Configuring Your Device, Addressing a Data Buffer, Ports and Registers, Servicing an Interrupt, Direct Memory Access.

Specialised Tools: Filter Drivers, Logging Errors, I/O Control Operations, System Threads, Executive Work Items, Watchdog Timers.

WMI: WMI Concepts, WDM Drivers and WMI, User-Mode Applications and WMI.

USB: Programming Architecture, Working with the USB Root Driver.

Installation: The INF File, Defining a Device Class, Launching an application, Windows 98 Compatibility Notes.