Duration: 5 days | Price: $2695 | Class Dates: Choose a CityView All Cities -or-AL - Huntsville AR - Little Rock AZ - Phoenix AZ - Tucson CA - Bakersfield CA - Fresno CA - Irvine CA - Los Angeles CA - Modesto CA - Oakland CA - Riverside CA - Sacramento CA - San Diego CA - San Francisco CA - San Jose CA - Santa Clarita CA - Santa Monica CA - Temecula CO - Denver CT - Hartford CT - New Haven CT - Stamford DC - Washington FL - Fort Lauderdale FL - Jacksonville FL - Miami FL - Orlando FL - Pensacola FL - Sarasota FL - Tampa FL - West Palm Beach GA - Atlanta GA - Savannah IA - Cedar Rapids IA - Des Moines ID - Boise IL - Chicago IL - Schaumburg IL - Springfield IN - Indianapolis KY - Louisville LA - Shreveport MA - Boston MA - Chelmsford MA - Quincy MA - Springfield MA - Waltham MA - Woburn MA - Worcester MD - Baltimore MD - Columbia MI - Detroit MI - Lansing MN - Minneapolis MO - Kansas City MO - Springfield MO - St. Charles NC - Charlotte NC - Raleigh-Durham NC - Winston-Salem NE - Omaha NH - Manchester NH - Nashua NJ - Jersey City NJ - Newark NJ - Princeton NM - Albuquerque NM - Las Cruces NV - Las Vegas NY - Albany NY - Binghamton NY - Buffalo NY - Ithaca NY - Manhattan NY - Rochester NY - Syracuse NY - Watertown OH - Cincinnati OH - Cleveland OH - Columbus OH - Dayton OK - Oklahoma City OK - Tulsa OR - Portland PA - Harrisburg PA - Philadelphia PA - Pittsburgh RI - Providence SC - Charleston TN - Memphis TN - Nashville TX - Austin TX - Corpus Christi TX - Dallas TX - El Paso TX - Fort Worth TX - Houston TX - San Antonio UT - Salt Lake City VA - Alexandria VA - Fairfax VA - Norfolk VA - Richmond VA - Williamsburg WA - Seattle WA - Spokane WI - Milwaukee
Description: This hands on training course provides the knowledge and practice necessary to begin writing Windows device drivers for all modern Microsoft operating systems including Vista, Windows XP, Windows 2003, Windows 2000 and Windows NT 4.0. The course provides a thorough grounding for Windows device driver development including core technologies such as how to create a basic driver, the fundamental driver data structures, how to implement interrupts, how to move data between hardware devices and the driver including DMA transfers, how to move data between the kernel and the user application, synchronization, driver threads and layered drivers. 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 course finishes with a thorough introduction to Plug and Play (PnP) and Power Management. 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. The labs include practice debugging drivers using contemporary debugging tools including WinDbg, dealing with common driver problems, how to read kernel crash dumps and use contemporary crash analysis tools, and using the Driver Verifier. Several drivers will be created in the course of the class, which the students can keep as starting templates for their own work. 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 Joseph M. Newcomer, noted author and consultant in the field of Windows system programming and driver implementation.
Prerequisites: Knowledge of C programming, Windows Architecture and Operating Systems Architecture.
"This course saved us at least 6 months of frustration and pain in developing a Windows driver. The instructor gave us an excellent course explaining sometimes in malicious details how to write a reliable and robust driver for Windows and avoid the most common mistakes." I.L., Applanix
"This class is a life/project/job saver! All of the basics were thoroughly covered and the labs gracefully brought together the massive amount of information concerning driver writing. Excellent instructor!" L.T., Volcano Therapeutics
"The instructor did an excellent job introducing the class to device driver writing. His practical instruction was very useful in relating the course to actual working responsibilities." S.L., Packard Biochip Tech.
Hands On Technology Transfer, Inc. 1 Village Square, Suite 8 14 Fletcher Street Chelmsford, MA 01824 1-800-413-0939 | 1-978-250-4299
Copyright© 2008 Hands On Technology Transfer, Inc.