Toll Free: 800-735-7418
Local: 303-377-9333
info@hartmannsoftware.com
 
 

 
NT PROGRAMMING FOR C PROGRAMMERS

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: $1990 (US)
Prerequisites
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
•  Unicode

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
Hives
Registry Editors
Registry API

• Processes

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

•  Threads

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

• Synchronization

Object Model of Synchronization
Synchronization Objects
Waiting for Objects
Event
Semaphore
Mutex
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


Contact us for course schedules or more information.
 

Registration and Pricing
The Virtual Classroom
Mentoring Services


Fresh Off The Press MySQL Admin/Dev
Sharepoint for Developers
Advanced XML
Securing Java Web Services
Exploring Design Patterns
Fast Track to Java EE
Ajax using C# (VS 2008) Oracle 11G New Features Complete LINQ