The Windows Master developer path takes you from a "generic" C programmer to a master Windows programmer in user mode and kernel mode.
Windows architecture and main components.
How to work with the Windows API.
How to build COM servers and clients.
Windows Kernel fundamentals.
How to write kernel mode drivers.
User and kernel Debugging with WinDbg.
What is this all about?
Building low level applications, services, and components requires a good understanding of the inner workings of Windows and its fundamental objects and capabilities, such as processes, threads, virtual memory, DLLs, synchronization, and much more. Using these foundations, the next requirement is an intimate knowledge of the many parts of the Windows API, which is the primary way to accomplish things on Windows. Going deeper into the kernel requires an even deeper understanding of some kernel mechanisms that are utllized when writing kernel mode drivers, in addition to the kernel API itself. By the end of this path, you'll have mastered the user mode and kernel mode APIs and have the knowledge and confidence to tackle any low level Windows development project.
Meet the instructor:
Software developer, trainer, consultant, author, and speaker. Co-author of "Windows Internals" 7th edition (2017). Author of "Windows Kernel Programming, 2nd ed" (2023), "Windows 10 System Programming Part 1" (2020) and Part 2 (2021), Author of "Windows Internals" series of courses on PluralSight.
Specialties: Software development (mostly) on the Windows platform, using C++, COM, .NET, and kernel APIs. Technologies including: DirectX, XNA, WPF, Silverlight, MFC, ATL, WTL, WCF, Kernel Device Drivers, Win32 API, Windows Internals, Rust, .NET, C++/CLI, UWP, C++11/14/17/20, Rust.
All the following courses are included in the "Windows master developer" program. You can also purchase these individually.
This course provides the fundamental knowledge of Windows concepts and architecture, including processes, threads, virtual memory, system calls, DLLs, handles and objects. This will serve as a good foundation for the following courses which focus on programming.
This course begins the journey of user mode development, covering the basics of the Windows API. It digs deeper into handles and objects and their APIs, and working with processes.
Continuing from where "Windows System Programming 1" left off, the course deals with job objects, using threads effectively, file I/O APIs, and working with virtual memory.
Continuing from where "Windows System Programming 2" left off, the course looks into building and consuming Dynamic Link Libraries (DLLs), and Windows security APIs. Finally, an introduction to the Component Object Model (COM) is provided. COM is dealt with in greater details in the next two courses.
COM has been around since 1993 and is still used everywhere in Windows. This course explores the foundations and motivation for of COM, writing COM servers and clients, and includes working with the Active Template Library (ATL) as a helper library for working with COM.
This course continues the COM journey by describing how to use COM automation accessible from scripting environments, how to build COM EXE servers, and finally the somewhat tricky topic of COM threading and apartments.
The course provides the foundation for writing kernel mode drivers on Windows. The drivers covered are the so called “software drivers” – these don’t interact with hardware – instead interacting with Windows by performing operations not possible to do from user mode, or registering for kernel notifications related to processes, threads, Registry and more.
Continuing from “Windows Kernel Programming 1”, the course teaches the basics of file system min-filters, and covers some other interesting kernel driver techniques.
FAQ section
Yes, C reading knowledge at least is necessary.
No. You’ll get the basics of development on Windows, but you don’t have to be an expert.
No. However, if you do, you’ll be able to compare and contrast that OS with Windows.
The Windows Master developer path takes you from a "generic" C programmer to a master Windows programmer in user mode and kernel mode.
Windows architecture and main components
Working with the Windows API
Building COM servers and clients
Windows Kernel fundamentals
Writing kernel mode drivers
User and kernel Debugging with WinDbg