HOME
   PRODUCTS  TRAINING    SERVICES  SOLUTIONS         CAREERS      COMPANY   
    Home / Training / Operating Systems / M309a    
 
 

M309a

 

M309a: Windows 2000 Device Driver Programming - Basic - 4 Days

 

Who Should Attend:
Software engineers, system analysts, programmers, system developers, and computer science students who need to write systems and application programs for the Windows 2000 environment.

Objectives:
This hands-on module is directed towards individuals requiring an understanding of how to write, build, and debug Windows 2000 device drivers, including Windows 2000 Beta, and the Windows Driver Model (WDM). It covers the 2000 Executive, Windows 2000 I/O Manager and data structures, and hardware issues that may impact device driver design. It teaches participants the mechanics of setting up a driver development environment, how to initialise, build, test, and debug Windows 2000 device drivers, how to analyse crash dumps and make WINDBG work.

Participants will also be provided with sample working codes on various device drivers, and learn how to add codes to simple device drivers.

At the end of the module, participants should be equipped with a basic knowledge of how Windows 2000 device drivers function, and how to build, test, and debug Windows 2000 device drivers. Participants wishing to extend their knowledge on writing real-life device driver programmes are encouraged to enrol in M309b: Advanced Windows 2000 Device Driver Programming after this module.

 

Contents:

Introduction: An Objectives of the Operating Systems, Windows 2000 Drivers.

Basic Structure of A WDM Driver: Device and Driver Layering, The DriverEntry Routine, The AddDevice Routine.

 

Basic Programming Techniques: The Kernel-Mode Programming Environment, Error Handling, Memory Management, String Handling, Miscellaneous Programming Techniques.

Synchronization: An Archetypal Synchronization Problem, Interrupt Request Level, Spin Locks, Kernel Dispatcher Objects, Other Kernel-Mode Synchronization Primitives.

 

The I/O Request Packet: Data Structures, The "Standard Model" for IRP Processing, Completing I/O Requests, Passing Requests Down to Lower Levels, Cancelling I/O Requests, Managing Your Own IRPs.

--------