Course Catalog
Curriculum Guides
  .NET
  Java/J2EE
  XML
Downloads
Buy Courseware
Customization
News
Authors
Technical Library
FAQ
About Object Innovations
Opportunities
Contact Us
Home

 

 

   
www.objectinnovations.com
info@objectinnovations.com
877-558-7246 (toll free)  
781-466-8012  

134.  NT Programming for C Programmers

Rev. 1.1

 

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.

 

LEARNING OBJECTIVES

 

·         Gain an in-depth understanding of the Win32 programming interface

·         Understand the importance of the various key Windows NT features

·         Learn how to implement software that takes advantage of the strengths of Windows NT

·         Acquire experience with tools for building and debugging NT applications

 

Course Duration:  5 days

 

Prerequisites:  Experience with Windows programming using C or C++

 

1.      NT Overview

Design Goals

NT Architecture

Object Architecture

Application Models

 

2.      Object and Security

NT Kernel Objects

Object Namespace

Object Inheritance

Object Structure

NT Object Security

Security Descriptors

NT Security Model

Object Handles

 

3.      Structured Exception Handling

Exceptions Defined

Exception Handler Syntax

Exception Filters

Exception Sequencing

Structured Termination

Structured Termination Sequencing

Related Win32 Routines

 

4.      Unicode

The Unicode Standard

ANSI C Support

CRT Support

Win32 Support

Programming in Unicode

Programming with Generic Character

Unicode Windows

Windows Messages and Unicode

 

5.      The NT Registry

Intent and Use of the Registry

Hives

Registry Editors

Registry API

 

6.      Processes

NT Process Definition

Creating a Process

Process Startup

Process Termination

Inter Process Communications

Process Synchronization

Inheritance

 

7.      Threads

NT Thread Definition

Thread Scheduling

Creating a Thread

Thread Startup

Thread Termination

Thread Communications

Thread Synchronization

C Run Time Libraries

 

8.      Synchronization

Object Model of Synchronization

Synchronization Objects

Waiting for Objects

Event

Semaphore

Mutex

Critical Section

 

9.      Asynchronous I/O

NT I/O Architecture

CRT, Win16 & Win32

Overlapped I/O

Waiting for I/O Completion

I/O Callback Functions

 

10. 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

 

11. 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

 

System Requirements

 

Software:

 

·         Windows NT or Windows 2000

·         Visual C++ 6

·         Platform SDK

 

Hardware:

 

·         Pentium 500MHz or equivalent CPU

·         128 Meg of RAM

·         At least 500 megabytes of free disk space

·         CDROM drive or networked to a server with a CDROM drive