Windows System Programming
Microsoft
Windows is a complex operating system. It offers so many features and does so
much that it's impossible for any one person to fully understand the entire
system. This complexity also makes it difficult for someone to decide where to
start concentrating the learning effort. Well, I always like to start at the
lowest level by gaining a solid understanding of the system's basic building
blocks. Once you understand the basics, it's easy to incrementally add any
higher-level aspects of the system to your knowledge.
Error
Handling
Available
Libraries
Programming
Semantics
Coding
Standards
Windows
Architectures and their differences
Architecture
of Windows NT based Systems
Various
Win 32 Implementations
Key
System Components
Operating
System Model with respect to X86 Architecture
Writing
first basic windows application
Programming
Processes:
Creating
Terminating
Enumerating processes running in the System
Programs
based on above concepts.
Multithreading:
Thread Basics
Processes & Threads fundamentals
Thread Internals
Writing multi threaded applications
Programming different states of Threads
Scheduling, Priorities and Affinities
Understanding Synchronization
Synchronization Primitives
Programs
based on above concepts.
Memory
Architecture
Using
Virtual Memory
Memory
Mapped Files
Heap
Programs
based on each subtopic.
Dynamic
Link Libraries (DLL)
Basics
Implement
your own DLL
Programs
Based upon above topic.
API
Spying Techniques
Injecting
a DLL.
DLL
Hooking
Setting
up development environment
Device
Driver Fundamentals
Implementing
a basic device driver.
Course
can be customized as per the student’s requirements.