|
Course ID: 883
| Course Duration: 5 Days
|
|
Course Dates:
|
| |
|
| |
Writing a Windows Device Driver Training Class
Course ID: 883
|
|
| |
|
|
| |
|
|
| |
Writing a Windows Device Driver Training Seminar
This hands on training course provides the knowledge and practice necessary to begin writing Windows device drivers for Windows XP, Windows 2000 and Windows NT 4.0. This course provides a thorough grounding for Windows device driver development. Through lecture, class discussions and hands on lab work, the student will develop an immediately useful knowledge of how to write a device driver that will interface hardware to the system and to application programs. The course includes an overview of the development environment and the device categories that may be confronted. Both the underlying theory and some API details are covered; emphasis is on the underlying theory. The intent is to prepare students to use the Microsoft documentation, the Microsoft Developers Network (MSDN) resources, and published material in order to continue work beyond the scope of the course. The solid background provided by this course can prepare the student for more advanced work. Lab work is integrated to allow students to explore the problems that may be encountered and debugging techniques that can be employed. The students will learn to employ various approaches to solving basic problems, and learn why certain techniques are employed to solve particular interface problems. The hands on labs provide practice implementing fundamental concepts of driver development. Several drivers will be created in the course of the class, which the students can keep as starting templates for their own work. Students will learn how to debug a driver using WinDbg. Each student will receive a CD-ROM containing the labs and example solutions which students may keep for future reference. This course is designed and taught by Edward N. Dekker and Joseph M. Newcomer, noted authors and consultants in the field of Windows system programming and driver implementation.
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
Agenda |
|
| |
Writing a Windows Device Driver Course Overview:
Windows Architecture Issues
- The implications of NT/2000/XP design on driver architecture
- Driver Design
- Driver Implementation
- Installing Drivers
- Debugging Drivers
- The API Interface and API Design Issues
|
|
Windows 2000/XP Drivers
- Developing Drivers for Windows 2000 and XP
- How to Convert Legacy Drivers
- Supporting FireWire (IEEE-1394)
- How 64-bit Drivers Will Work
- Power Management
- Plug and Play
|
Windows Architecture
- Layered Drivers
- Memory Allocation Options
- Lookaside Lists
- IRQ Levels
- Driver Threads
- Multiprocessing, preemptive multithreading, interrupts, and their requirements for synchronization; primitives for accomplishing synchronization
|
|
Overview of Windows Drivers
- Kernel-Mode Drivers
- Miniport Drivers
- Windows Driver Model (WDM) Drivers
- Graphics Drivers
- Network Drivers
|
Overview of the Software Development Kits and Device Interfaces
- WinNT DDK
- Win32 SDK
- Video Displays
- Networks
- PCMCIA
- Storage
- Printers
- Multimedia
- Communications
- Input
|
|
Debugging Environment
- Environment Variations
- Setup Procedures
- Using Windbg
- Kernel Debugging Options
- Debugging Techniques
- Interpreting System Bug Check Information
- Stack Traces
- Debugging Hang Conditions
- Hardware Profiles
|
Overview of Windows NT Drivers
- User-Mode Drivers
- Kernel-Mode Drivers
- Windows Driver Model (WDM) Drivers
- Miniport Drivers
- Graphics Drivers
- Network Drivers
|
|
Developing the Driver
- Building
- Debugging
- Tuning
- Testing
|
Writing a Driver
- Required Entry Points
- Driver Objects and Resources
- Initializing Device Objects and Extensions
- Processing Input and Output in Kernel Mode
- Serializing the Driver Processing
- Using the Structured Exception Handler
- Processing Windows NT Requests
- Communicating with the Driver : operations
- Communicating with the Driver : passing data
- Latency within the driver
- Trapping Errors and Recovering
- Event and Error Logging
- Direct Memory Access (DMA) Issues
- Registry Manipulation
- Performing File I/O Within a Driver
- Using Timers
- Fully Asynchronous Bidirectional ("Full Duplex") Driver Issues
- Installing and Configuring the Driver
|
|
| |
|
| |
|
|
|
| |
|
|
| |
Pre-requisites |
|
| |
Knowledge of C programming, Windows Architecture and Operating Systems Architecture.
|
|
|
|
| |
|
|
|
|
| |
|
|
| |
|
|
|
| |
| |
|
| |
Writing a Windows Device Driver Training Course Dates and Locations
|
|
| |
|
|
| |
Course ID: 883
| Course Duration: 5 Days
|
|
| |
|
|
| |
Locations: |
|
| |
|
|
| |
Gift card when you register today!
|
|
| |
|
|
| |
| Start Date |
Price |
|
Location/Event Details |
Register Online |
Request More Info |
|
Print/Fax Register |
| | | |