NT Programming for C Programmers Training

Answers to Popular Questions:

Yes, this class can be tailored to meet your specific training needs.
Yes, we provide C++ consulting services.
Yes, group discounts are provided.

Course Description

This course takes a comprehensive look at Win32, the native user mode NT programming interface. It is an advanced course intended for programmers implementing sophisticated applications and for doing systems programming. The student should have previous experience with Windows programming, either at the C/SDK level or using C++ and a class library such as MFC. Attendees will get an understanding of the programming techniques used to unlock the full potential of Windows NT as a powerful application platform. The course programmatically explores the nature of NT with hands on labs and demonstrations. The majority of this course is directly applicable to Windows95/98 programming. References are provided both to books and magazines.
The course covers the most powerful and critical features of Windows NT including the Registry, Processes, Threads, Synchronization, Security, Asynchronous I/O, and many others. Developers will also be exposed to the general principles of programming the Win32 interfaces as well as practical tips on how NT works. The course wraps up with a perspective of Windows NT in the industry today and tomorrow and a look at evolving Windows NT technologies.
The course includes hands-on programming examples and labs. Students will complete several labs in class, each exercising a specific Win32 programming technique.
Course Length: 5 Days
Course Tuition: $2090 (US)


Experience with Windows programming using C or C++

Course Outline


NT Overview
Design Goals
NT Architecture
Object Architecture
Application Models

Object and Security
NT Kernel Objects
Object Namespace
Object Inheritance
Object Structure
NT Object Security
Security Descriptors
NT Security Model
Object Handles

Structured Exception Handling
Exceptions Defined
Exception Handler Syntax
Exception Filters
Exception Sequencing
Structured Termination
Structured Termination Sequencing
Related Win32 Routines

The Unicode Standard
ANSI C Support
CRT Support
Win32 Support
Programming in Unicode
Programming with Generic Character
Unicode Windows
Windows Messages and Unicode

The NT Registry
Intent and Use of the Registry
Registry Editors
Registry API

NT Process Definition
Creating a Process
Process Startup
Process Termination
Inter Process Communications
Process Synchronization

NT Thread Definition
Thread Scheduling
Creating a Thread
Thread Startup
Thread Termination
Thread Communications
Thread Synchronization
C Run Time Libraries

Object Model of Synchronization
Synchronization Objects
Waiting for Objects
Critical Section

Asynchronous I/O
NT I/O Architecture
CRT, Win16 & Win32
Overlapped I/O
Waiting for I/O Completion
I/O Callback Functions

Memory Management
Process Address Space Anatomy
NT Virtual Memory Manager Architecture
Memory Paging
Memory APIs
Memory Reservation
Memory Commitment
Virtual Memory API
Heap Memory API
CRT, C++ & Win16 APIs
Memory Mapped Files

Dynamic Link Libraries
DLL Architecture
Instance Data
DLL Entry Point
Exports and Imports
Process and Thread Termination
Thread Local Storage
DLL Shared Memory

Appendix. Introduction for Win32 for C++ Programmers
Win32 Programming Model
Win32 Programming Using SDK
Multiple Instances of Win32 Applications
Win32 Versions
Version Resources
Win32 Error Reporting
Basic Win32 Memory Management


Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.