My Articles
Layered Windows with Direct2D
MSDN Magazine – December 2009
Windows with C++: Windows Web Services
MSDN Magazine – November 2009
Windows with C++: Drawing with Direct2D
MSDN Magazine – September 2009
Windows with C++: Introducing Direct2D
MSDN Magazine – June 2009
Windows with C++: The Virtual Disk API in Windows 7
MSDN Magazine – April 2009
Windows with C++: Visual C++ 2010 and the Parallel Patterns Library
MSDN Magazine – February 2009
Excel RTD Servers (Series)
Blog – October 2008 – Present
Minimal C++ Implementation (Part 1)
Minimal C++ Implementation (Part 2)
C# without the Excel Assembly Reference
Windows with C++: X64 Debugging With Pseudo Variables And Format Specifiers
MSDN Magazine – December 2008
Windows with C++: Exploring High-Performance Algorithms
MSDN Magazine – October 2008
Visual C++ in Short (Series)
Blog – July 2008 – Present
Unblock downloaded applications
Determining whether a path refers to a file system object
Converting between Unicode and UTF-8
Encoding and decoding with Base64
Windows with C++: Asynchronous WinHTTP
MSDN Magazine – August 2008
Windows with C++: 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 with C++: Windows Imaging Component Basics
MSDN Magazine – April 2008
Terminal Services Sessions: Then and Now
MSDN Flash – March 2008
Windows with C++: Windows Services Enhancements
MSDN Magazine – March 2008
Parallel Programming with C++ (Series)
Blog – December 2007 – Present
Part 1: Asynchronous Procedure Calls
Part 2: Asynchronous Procedure Calls and Window Messages
Part 3: Queuing Asynchronous Procedure Calls
Part 4: I/O Completion Ports
Windows with C++: Windows Template Library 8.0
MSDN Magazine – December 2007
Windows with C++: Task Scheduler 2.0
MSDN Magazine – October 2007
Windows with C++: 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
Windows Vista for Developers (Series)
Blog – July 2006 – January 2007
Part 1: Aero Wizards
Part 2: Task Dialogs in Depth
Part 3: The Desktop Window Manager
Supplement: Controls and the Desktop Window Manager
Part 4: User Account Control
Part 5: Getting Started With Server Core
Part 6: The New File Dialogs
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
Introduction to MSIL (Series)
Blog - September – December 2004
Part 1: Hello World
Part 2: Using Local Variables
Part 3: Defining Types
Part 4: Defining Type Members
Part 5: Exception Handling
Part 6: Common Language Constructs
Part 7: Casts and Conversions
Part 8: The for each Statement
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
Resource Management in an Unmanaged World
kennyandkarin.com - January 2002
Icon Browser: An Exercise in Resource Management (Original in C#)
kennyandkarin.com - November 2001