Custom Search

Microsoft Windows System Programming

Windows

Hands On Technology Transfer, Inc.
Training Provided by Hands On Technology Transfer, Inc. This hands on Windows system programming class covers programming for the Windows system environment using current Microsoft tools and technologies, with emphasis on the Win32 API. Visual Studio is used throughout the course as the development environment. Focusing on sophisticated design issues within the context of the Windows 2000, Windows XP, Windows Server 2003, Windows Vista, and Windows Server 2008 operating systems, the course emphasizes inter-process communication and synchronization techniques as well as explaining advanced memory management, file handling and asynchronous I/ O, multi-threaded processes, and techniques applicable to high-performance and large-scale software systems. The attendee will create various types of Windows system programs, such as services and dynamic-link libraries. Code optimization and portability issues, particularly to 64-bit platforms, are stressed throughout. Course Prerequisites: C Programming experience. Previous experience building applications in a Microsoft Windows environment is helpful but not required.
This is primarily ilt training
computer labComputer Lab Work
coursewareCourseware may be available for purchase
instructor led trainingThis class may be available at a classroom in Chelmsford, MA,
Contact Hands On Technology Transfer, Inc. for more information
Course Level:basic
Duration:5 days
Training Presented in:English
Microsoft Windows System Programming Microsoft Windows System Programming Course Overview:

Windows Programming Overview
  • Windows System Architecture
  • Kernel Components and their Relationship to System Programming
  • Object and Handles
  • Memory Management
  • Windows Processes
  • Windows Programming Resources
  • Visual Studio
  • Win32 SDK/ DDK
  • MFC
  • API Interface Issues
  • 64-bit API Interface Issues and planning for 64-bit transition
  • Writing 32/ 64-bit compatible programs
  • Visual Studio/ Console Apps/ GUI Apps
  • Executable Files and DLLs
  Handling Virtual Memory
  • Memory allocation
  • Paging and Working Sets
  • Heap Control
  • Creating and Destroying Heaps
  • Heap Allocation and Deallocation
  • Thread-safe and Thread-Unsafe Heaps and their Uses
  • Committing Memory vs. Reserving Memory
  • Raw Allocation
  • Optimizing Issues in allocation
  • Repairing Access Violations
  • Reserving Memory without Committing Memory
  • Memory Mapped Files
  • Processor Shared Memory
  • Based Pointers
  • 64-bit address space issues
  • 32-bit apps running on 64-bit Windows
Handling Processes and Pipes
  • Kernel Objects and Handles
  • Command Lines, Environment Variables
  • Spawning Processes
  • Passing Inherited Handles to Processes
  • Terminating Processes
  • Creating and communicating with pipes
  • Named Pipes
  • Anonymous pipes
  Exception Handling
  • Structured Exception Handling (SEH)
  • Exception Handling Keywords
  • Exception Filters
Serializing Windows Data
  • File Systems
  • Directories and Files
  • Pipes
  • File and Directory Manipulation
  • Asynchronous File I/ O
  • File Attributes
  Unicode and Character Internationalization
  • Purpose of Unicode
  • Data Types
  • Function Prototypes
  • Basic Conversion Steps
  • Messages
Creating and Using Threads
  • Effective Use of Threads
  • Worker Threads vs. User Interface (UI) Threads
  • The Thread Stack
  • Thread Communication
  • Thread Synchronization
  • Thread Local Variables
  • Asynchronous I/ O with Threads
  • Fibers
  Handling Synchronized Resources
  • Locks
  • Events, Semaphores, Mutexes, and Critical Sections
  • Synchronizing Data vs. Synchronizing Methods
Using Named Pipes and Mail Slots
  • Overlapped vs. Synchronous
  • Named Pipes: Server, Client, Data Exchange
  • Multithreading Named Pipes
  • Mailslots
  Dynamic Link Libraries
  • DLL Architectural Overview
  • Memory Model
  • Thread Local Storage
  • DLL Entry and Exit Point
  • Building a DLL
  • Using a DLL
  • Issues with 64-bit DLLs
  • System Wide Event Hooks
Using The Registry
  • Concepts
  • The Registry API
  • Registry compared to Environment Variables and .INI Files
  • Win64 Registry Issues
  • Environment Variables and .INI Files
  Creating Windows NT Services
  • Overview of Service Concepts
  • Service Manager Integration
  • Service Startup
  • Handling Service Messages
  • Interacting with the Service
Windows
  • Concepts
  • Simple dialog-based applications
  • Introduction to simple Windows controls
  • Control management
  The Event Log
  • Concepts
  • Event Log API
  • Event Viewer
  • MESSAGETABLE Resources
  • The mc Compiler
  • Automating the Compilation
Vista/ Server 2008
  • Asymmetric Multiprocessors and NUMA (Non-Uniform Memory Access) Issues
  • Integrity Levels and the Implications on System Programming
  • I/ O Cancellation Enhancements
  • Registry Enhancements Including Virtualization to Support Older Applications
  • Likely Failure Points of Legacy System Programming Code with Vista Enhanced Security
   
About The Training Provider: Hands On Technology Transfer, Inc.
Hands On Technology Transfer, Inc. - Instructor-led IT training in more than 75 cities throughout the United States, Canada and the United Kingdom. Topics include .NET, SQL, Java, UNIX/ Linux, HTML, PHP, Windows Administration and more. Travel packages and on site training are also available to get students the training they need, when and where they want it.
tcw11-gfc-v396M-11/04/09-17:27:12-()[B]-[B]-[A] -06:25:32