
Windows System Programming and Application
Development
for Windows Vista, XP, 2003, 2000
With Windows System Programming and Application Development, you learn the
Windows (Win32/64) API
quickly and effectively. The course concentrates on the core operating system services,
including file and directory management, memory management, dynamic link libraries (DLLs),
structured exception handling (SEH), process and thread management, thread
synchronization, interprocess communication, and networking.
The course has been completely revised and updated to
cover Windows Vista, XP, 2003, and 2000. The material is also
useful for Windows CE developers. New material, backed by lab exercises, provides enhanced
treatment of threads, synchronization, and performance issues, making this course
especially useful for development of servers and other systems where performance and
reliability are essential.
Upon successful completion of this 4-day lecture-lab course, you will be
able to:
- Describe the Windows API and its role in Windows (Vista, XP, 2003, 2000)
- Develop, debug, and test Windows application programs using Microsoft Visual
Studio .NET
- Describe and use the Windows system services and the Windows API
- Use basic I/O, including the file and console I/O, along with file and directory
management and (optional module) registry programming
- Use structured exception handling (SEH) to simplify programming and increase reliability
- Use memory management and memory-mapped files to improve performance and share memory
between processes
- Develop dynamic link libraries (DLLs) that can be shared by multiple processes and
loaded dynamically at run time
- Understand process management and interprocess communication using pipes
- Create networked client/server applications using named pipes as well as Windows Sockets
(sockets are discussed in an optional module)
- Manage and synchronize threads
- Understand when to synchronize threads using mutexes, semaphores, events and CRITICAL_SECTION objects, and describe related performance
issues
- Use Windows services to deploy manageable server systems (optional module)
- Develop scaleable multithreaded applications using the client/server, boss/worker, and
pipeline models (optional module)
- Prepare applications for porting to Win64 (and execute the ports,
equipment permitting)
- Secure Windows objects (optional module)
Course exercises use the Microsoft Visual Studio .NET environment to develop,
debug, and run a wide variety of programs that exercise the Windows system programming API.
The exercises require course participants to repair, understand, and enhance realistic
programs that often become the basis for larger programs. Correct solutions are provided.
This course can be tailored to student needs and has been successfully
completed by software engineers of all experience levels who wish to master
Windows system
programming. Many course participants leveraged their experience in UNIX, Linux,
VMS, MVS, or
other operating systems, although such experience is not required.
Optional course modules provide in-depth coverage of Windows Sockets,
advanced synchronization, the registry, and Windows security.
Overhead slides and a copy of Windows System Programming,
Third Edition are provided to all participants.
Text: Windows System Programming, Third Edition by Johnson M.
Hart, Addison-Wesley, 2004.
Course Schedule
Core Modules:
- Getting Started with Win32 (1.5 Hours)
- Input/Output with File and Directory Processing (3.5 Hours)
- Structured Exception Handling (2 Hours)
- Memory Management, Memory Mapped Files, & DLLs (4 Hours)
- Process Management (3 Hours)
- Interprocess and Network Communication (3 Hours)
- Thread Management (2 Hours)
- Synchronization (3 Hours)
Optional Modules:
- Advanced Synchronization with Performance Trade-offs (4 Hours)
- Windows Sockets and Network Programming (2 Hours)
- Registry Programming (2 Hours)
- Securing Windows Objects (3.5 Hours)
- Asynchronous I/O (3.5 Hours)
- Building Scaleable, High-Performance Servers (3.5 Hours)
Contact Us at:
JMH Associates
Phone: 781-789-7413
jmh_assoc@hotmail.com, jmhart@world.std.com