APP210 - Windows Application Development: An Internals Approach

For programmers new to Windows and Win32 programming, this seminar provides an introduction to the idioms of Windows and an orientation to APIs and mechanisms commonly used in "systems level" programs.

Level: Intermediate

Win32 application developers


For programmers new to Windows, this seminar provides a fast orientation to application development for Win32 using Visual Studio and the C programming language. Particular attention is paid to APIs that deal with mechanisms described in our Windows Internals seminar.

  • Introduction to Win32 base APIs and C programming conventions
  • Hello, (Win32) World
  • Issues, styles, and conventions: Status returns; strings and Unicode; handles
  • Creating and working with processes and threads
  • Writing, installing, and running a service
  • Interprocess and interthread synchronization: waitable objects; wait calls; critical sections; timers
  • Conventional input/output: CreateFile; ReadFile; Writeful
  • Asynchronous I/O; I/O completion ports
  • Named pipes; WinSock
  • Memory management: DLLs with link-time binding; run-time binding (LoadLibrary); VirtualAlloc; memory mapped files
  • Win32 structured exception handling
  • 64-bit compatibility issues

INT150, Windows Internals Essentials for Application Developers, or equivalent experience; and experience developing C programs for any platform.

Operating systems supported:

Windows 2000 through Windows 10/Windows Server 2012 R2

Durations and formats: 3 days with labs

This seminar is designed with a series of lab exercises that illustrate and amplify the points presented in the classroom presentation. Attendees will be given machine-readable copies of example solutions, often including several alternate approaches.