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

C++ Interfaces

C# Interfaces

Minimal C# Implementation

Minimal C++ Implementation (Part 1)

Minimal C++ Implementation (Part 2)

Multiple Topics in C#

C# without the Excel Assembly Reference

How to use UpdateNotify Properly

A Topic’s Initial Value

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

Converting between numbers and strings

Regular Expressions

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 - January 2002

Icon Browser: An Exercise in Resource Management (Original in C#) - November 2001


No Comments