Articles
These are some of the articles I wrote that were published by others. I also published a bunch of articles on my own websites over the years. I hope to move those here eventually.
Introducing Direct2D 1.1
MSDN Magazine – May 2013
Rendering in a Desktop Application with Direct2D
MSDN Magazine – March 2013
Creating Desktop Apps with Visual C++ 2012
MSDN Magazine – February 2013
The Great C++ Wordament: Meet Windows with James McNellis
kennykerr.ca – January 2013
The Evolution of Threads and I/O in Windows
MSDN Magazine – January 2013
In the Community: Meet Kenny Kerr
Visual C++ Team Blog – December 2012
Windows 8 and the WebSocket Protocol
MSDN Magazine – December 2012
The Evolution of Synchronization in Windows and C++
MSDN Magazine – November 2012
Back to the Future with Resumable Functions
MSDN Magazine – October 2012
The Pursuit of Efficient and Composable Asynchronous Systems
MSDN Magazine – September 2012
Lightweight Cooperative Multitasking with C++
MSDN Magazine – August 2012
A Coder Interview with Kenny Kerr
The Code Project – December 2011
Thread Pool Timers and I/O
MSDN Magazine – December 2011
Thread Pool Synchronization
MSDN Magazine – November 2011
The road to Windows 8
kennykerr.ca – October 2011
Thread Pool Cancellation and Cleanup
MSDN Magazine – October 2011
The Thread Pool Environment
MSDN Magazine – September 2011
The Windows Thread Pool and Work
MSDN Magazine – August 2011
C++ and the Windows API
MSDN Magazine – July 2011
Interview: Why C++ Still Matters
MSDN Magazine – July 2011
Interview: Q&A with Kenny Kerr on C++, Window Clippings and Micro-ISVs
Microsoft Canada – December 2010
Layered Windows with Direct2D
MSDN Magazine – December 2009
Windows Web Services
MSDN Magazine – November 2009
Drawing with Direct2D
MSDN Magazine – September 2009
Introducing Direct2D
MSDN Magazine – June 2009
The Virtual Disk API in Windows 7
MSDN Magazine – April 2009
Visual C++ 2010 and the Parallel Patterns Library
MSDN Magazine – February 2009
X64 Debugging With Pseudo Variables And Format Specifiers
MSDN Magazine – December 2008
Exploring High-Performance Algorithms
MSDN Magazine – October 2008
Asynchronous WinHTTP
MSDN Magazine – August 2008
Decoding Windows Vista Icons With WIC
MSDN Magazine – June 2008
C++ Plus: Beef Up Windows Apps with the Visual C++ 2008 Feature Pack
MSDN Magazine – May 2008
Windows Imaging Component Basics
MSDN Magazine – April 2008
Terminal Services Sessions: Then and Now
MSDN Flash – March 2008
Windows Services Enhancements
MSDN Magazine – March 2008
Windows Template Library 8.0
MSDN Magazine – December 2007
Task Scheduler 2.0
MSDN Magazine – October 2007
Windows Vista Control Enhancements
MSDN Magazine – August 2007
Security: Applying Cryptography Using The CNG API In Windows Vista
MSDN Magazine – July 2007
XmlLite: A Small And Fast XML Parser For Native C++
MSDN Magazine – April 2007
Beyond WinFX: Transactions, Aero Wizards, And Task Dialogs In Windows Vista
MSDN Magazine – July 2006
Best Practices for Writing Efficient and Reliable Code with C++/CLI
MSDN – May 2006
Visual C++ 2005 Under the Hood
MSDN – April 2006
Understanding Member Functions in Visual C++ 2005
MSDN – April 2006
Credential Management with the .NET Framework 2.0
MSDN – January 2006
Using Visual C++ Express to Build Secure Applications
MSDN – January 2005
App Lockdown: Defend Your Apps and Critical User Info with Defensive Coding Techniques
MSDN Magazine – November 2004
C++/CLI: The Most Powerful Language for .NET Programming
MSDN – July 2004
Techniques for Securing Private Objects in Your Applications
MSDN – March 2004
Icon Browser: An Exercise in Resource Management (Managed C++)
C/C++ Users Journal – September 2002
Visual C++ in Short: Unblock downloaded applications
Visual C++ in Short: Determining whether a path refers to a file system object
Parallel Programming with C++ – Part 1 – Asynchronous Procedure Calls
Parallel Programming with C++ – Part 2 – Asynchronous Procedure Calls and Window Messages
Parallel Programming with C++ – Part 3 – Queuing Asynchronous Procedure Calls
Parallel Programming with C++ – Part 4 – I/O Completion Ports
Windows Vista for Developers – Part 1 – Aero Wizards
Windows Vista for Developers – Part 2 – Task Dialogs in Depth
Windows Vista for Developers – Part 3 – The Desktop Window Manager
Windows Vista for Developers – Part 4 – User Account Control
Windows Vista for Developers – Part 5 – Getting Started With Server Core
Windows Vista for Developers – Part 6 – The New File Dialogs
Introduction to MSIL – Part 1 – Hello World
Introduction to MSIL – Part 2 – Using Local Variables
Introduction to MSIL – Part 3 – Defining Types
Introduction to MSIL – Part 4 – Defining Type Members
Introduction to MSIL – Part 5 – Exception Handling
Introduction to MSIL – Part 6 – Common Language Constructs
Introduction to MSIL – Part 7 – Casts and Conversions
Introduction to MSIL – Part 8 – The for each Statement
Controls and the Desktop Window Manager
Direct2D and the Desktop Window Manager
More on COM Safe Arrays and .NET Interop
Excel RTD Servers: A Topic’s Initial Value
Excel RTD Servers: How to use UpdateNotify Properly
Excel RTD Servers: Multiple Topics in C#
Increment differences in C++ and C#
Demystifying Managed Code and Compiler Output
The Case of the Missing Generic (Parse Method)