|
|
 |
|
 |
|
|
| Course Description |
Writing a Windows Device Driver for Windows system is an entirely different discipline from traditional Windows application programming. A Windows Device Driver is an extension to Windows operating system. In order to extend the Windows OS effectively, a developer needs to understand many of the details of the Windows operating system’s architecture and its working. In addition it is necessary to learn the Device Driver development environment and Kernel Mode Debugging.
This course imparts the necessary knowledge that would help you to write WDM device drivers for Windows XP/2k. Windows Driver Model (WDM) is a kernel-mode device driver model which also contains Plug and Play (PnP), Power management, Windows Management Instrumentation (WMI) and Device Interface support. These features are included in this training course, along with details of the necessary development environment.
|
| |
 |
| |
| What's different about the course |
 |
Top quality knowledge at reasonable fees |
 |
Course designed Yashavant Kanetkar |
 |
Self paced learning |
 |
Excellent slides with explanation |
 |
Course material with detailed explanation |
 |
End of module exercises |
|
| |
|
|
|
What would you gain
|
 |
Development of skill sets would help you to be market-ready |
 |
Would help in building state-of-the-art projects |
 |
Thorough grounding in internal details would help you in interviews |
 |
No need to move out of the campus to master the latest technologies |
|
| |
| Pre-Requisites |
|
| |
 |
|
| Lecture 1 |
What are Device Drivers, Roadmap to writing Device Drivers, Protection mechanisms, Hardware access, Kernel Mode Vs User Mode, Issues in Kernel Mode programming, Writing a Device Driver using DDK, Building & deploying Driver |
| Lecture 2 |
Writing a hello world driver, Debug support routines, User mode debugger and Kernel mode debugger, Using Kernel Debugger to view debug messages, Service programs, Service Control Manager, Driver service keys, Introduction to Windows Driver Model, Building Dynamic drivers |
| Lecture 3 |
Operating System Architecture, Kernel, HAL and executive, Object Manager,Objects and handles, Object Manager’s namespace, Parsing names, Communication with Device Driver, Handling Application Requests, I/O manager, Input/Output Request Packets (IRP), Completing IRPs |
| Lecture 4 |
Driver Dispatch Routines, DeviceIoControl Interface, A Generic Port I/O driver, Handling Read requests, Handling Write requests, App to driver data transfer mechanisms, Buffered, Direct & Neither I/O, Layered model of drivers, IRP stack locations |
| Lecture 5 |
Writing Real driver, Overview of Bus, Device Registers, Device Register mapping, I/O mapping vs. Memory Mapping, Device Interrupting mechanism, Hardware Interrupt priorities, IRQLs, Device Resource List, Data transfer mechanisms, PIO, DMA, shared buffers |
| Lecture 6 |
Driver Structure, Real World driver, Parallel Port basics, Loop-back device, Interaction with Loop-back device, Plug and Play, Handling Plug & Play IRPs, Hardware abstraction layer, Using HAL services for performing I/O |
| Lecture 7 |
Registering Interrupt Service Routines, Implementing PIO interface, Completing IRP from ISRs, Firing Deferred Procedure Calls (DPCs), Need for Synchronization, Using Sync Critical Routine, Code example for parallel port loop-back driver |
| Lecture 8 |
Overview of different Bus Architectures, Auto recognition, auto configuration, ISA bus, EISA bus,PCI bus |
| Lecture 9 |
The USB bus, Hierarchical model for device connection, Multi-Configurations devices, Device Interfaces, Pipes and Endpoints, Layered communication model, Data transfer mechanisms, Isochronous, Control, Bulk, Interrupt, USB data flow model |
| Lecture 10 |
Transaction, Phases in Transaction, Token, Data and Handshake Packet, Frames, Device Addressing and Endpoint number, States of Endpoints, Phases involved in various transfer types, Auto-Recognition support in USB, Descriptors, Descriptor types – Device, Configuration, Interface, Endpoint, String etc, Communicating with the bus driver, Building USB Request Block (URB) packets, Code Example: Building USB function driver, Code Example: Building USB filter driver |
| Lecture 11 |
Error logging, Need for logging, Conventional driver error and event logging, How logging works Windows Management Instrumentation (WMI) architecture, Consumers and Providers, Providing WMI Support in a WDM Driver, Handling WMI IRP Requests, Logging events and errors using WMI |
| Lecture 12 |
Driver Testing, System Crashes, Reasons for System Crash, The Blue Screen of Death, Reading Crash Screens, Crash Dump Files, Analyzing a Crash Dump, Common reasons for driver failure, Using Driver Verifier Tool, Debugging Drivers, Using Kernel Debugger to debug drivers, Debugging routines exported from kernel, Local Debugging, Remote Debugging
Debugging command to view internal state of OS |
|
| |
Requirements
|
| Hardware Requirements |
 |
800 MHZ Pentium III, 20 GB Hard Disk, 128 MB RAM, SVGA Color Monitor |
| Software Requirements |
 |
Windows 2000 Professional |
 |
Microsoft Visual C++ 6.0 |
 |
Microsoft Device Driver Development Kit |
 |
Microsoft Office |
|
|
| Mode Of Operations |
 |
You can download Lecture 1 for your evaluation. To download it click here Lecture 1. |
 |
If you find the first lecture useful and decide to take the rest of the course, to know about course fees and how it can be paid select Mode Of Payment. |
 |
Each lecture that you download would be a ZIP file. Each zip file would contain a lecture presentation, a text file and an exercise. You have to unzip it, go through the presentation, understand the background text, solve the exercise and send it for evaluation by email to exercises@kicit.com. The next lecture would be made available to you for downloading only after you have submitted the previous exercise. You can submit your queries any time of the day through the 'Queries' section on www.kicit.com. |
 |
At the end you would be allotted a project with suitable guidelines. You are supposed to submit the project within 15 days. After the completion of project you would be issued a certificate signed by Mr. Yashavant Kanetkar. |
| |
|
| |
If you find the first lecture useful and decide to take the rest of the course, you may select one of the following modes of payment: |
|
 |
| |
Within India: |
| |
| 1. |
You may deposit Rs. 5500/- directly into the account no 01022260000026, HDFC Bank, India in the name of KANETKAR'S INST OF COMPUTING & IT P LTD. and Fax a copy of the pay in slip to us at Fax no +91-712-2540870 or mail to onlinecourses@kicit.com
|
| 2. |
You may prepare a DD of Rs. 5500/- drawn in the name of KICIT Pvt. Ltd. and send it to KICIT Pvt. Ltd., 44-A, Gokulpeth, Nagpur-440010, Maharashtra, India. |
|
| |
Outside India: |
| |
| 1. |
You may prepare a DD of US $190 drawn in the name of KICIT Pvt. Ltd. and send it to KICIT Pvt. Ltd., 44-A, Gokulpeth, Nagpur-440010, Maharastra, India.
|
| 2. |
You may deposit US $190 directly into the bank Chase Manhattan Bank, New York with swift code CHASUS33, Account no 001-1-406717 with a following note, please remit US $190 to HDFC Bank Mumbai Account Number 001-1-406717 with Chase Manhattan Bank, NewYork for further credit to account number 01022260000026 with HDFC Bank Nagpur, India |
|
| In all cases send a mail to onlinecourses@kicit.com informing that you have made the payment. |
|
| |
 |
|
|
|
|
 |
|